You are on page 1of 64

REA DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES

(DEPTO. DE ARQUITECTURA DE COMPUTADORES,


ELECTRNICA Y TECNOLOGA ELECTRNICA
UNIVERSIDAD DE CRDOBA)

PRONTUARIO DEL ENTORNO DE
DESARROLLO KEIL Vision

4
PARA LA FAMILIA DE
MICROCONTROLADORES
MCS51
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

2
Referencia del documento: P_KuV4_v1.0
Fecha: 11 de marzo de 2010
Sustituye a: P_KuV4_v0.0
Fecha:8 de marzo de 2010
Sustituido por:
Fecha:









































AUTOR:
Prof. Antonio Moreno Fernndez-Caparrs
Depto. de Arquitectura de computadores, electrnica y tecnologa electrnica
rea de Arquitectura y Tecnologa de Computadores
Universidad de Crdoba

11 de marzo de 2010
Crdoba, Espaa
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

3
NDICE



PREFACIO. 5

0 INTRODUCCIN .. 6
0.1 Componentes del sistema Vision.............................................................. 6

1 ASPECTO DE LA APLICACIN 9
1.1 La filosofa de las ventanas en Vision 4. 9
1.2 Redistribucin de la zona de trabajo y dems ventanas.. 12

2 CREACIN DE UN PROYECTO. 17
2.1 Creacin 17
2.2 Apertura de un proyecto. 19

3 EDICIN DEL CDIGO FUENTE .. 20
3.1 Creacin y guardado de un fichero fuente. 20
3.2 Asociacin de un fichero a un proyecto.. 21
3.3 Apertura y edicin de un mdulo de cdigo fuente.. 22

4 CONSTRUCCIN DEL FICHERO EJECUTABLE FINAL............ 23
4.1 Ensamblaje y montaje de los mdulos 23
4.2 Definicin de las opciones de construccin de un proyecto 24
Creacin del fichero de salida HEX para programacin de C.. 24
4.3 Diferencia entre Ensamblar, Construir y Reconstruir una aplicacin... 26
4.4 Gestin de errores en el ensamblado y montado. 26
4.5 Caso de programacin en lenguaje C: opciones de compilacin.. 27
Opciones del nivel de optimizacin del cdigo. 30
Opciones del nfasis en la compilacin. 30

5 DEPURACIN DEL CDIGO I: EL ENTORNO Y SU CONFIGURACIN. 30
5.1 Inicio de una sesin de depuracin. 30
5.2 Aspecto del entorno en modo depuracin.. 31
5.2.1 La ventana de registros internos. 32
5.2.2 La ventana de edicin.. 33
5.2.3. La ventana de desensamblado.. 34
Modos de visualizacin: mixto o slo en ensamblador. 35
5.2.4 La zona de anlisis... 36
Ventanas de memoria, de observacin, de variables,
de smbolos y de pila de llamadas... 36
5.2.5 La ventana de rdenes. 36
5.3 Pasos previos a la depuracin del cdigo. 37
5.3.1 Primero: abrir las ventanas no presentes.. 37
5.3.2 Segundo: reubicar, formatear y redimensionar las ventanas. 40
5.3.3 Tercero: definir y dar contenido a las ventanas 41
5.3.3.1 Contenidos en la memoria 41
5.3.3.2 Contenidos en la ventana de observacin. 42
Cmo aadir un elemento.. 42
Cmo eliminar un elemento 43
Cmo cambiar el sistema numrico de representacin 43
5.3.4 Introduccin de valores numricos en las ventanas 44
5.3.4.1 Cdigo de colores en las ventanas de memoria.. 46
5.3.4.2 Formato numrico de los valores introducidos 47
Sistemas de numeracin admisibles... 47
Posibilidad de uso de caracteres ASCII equivalentes... 47
Especificacin alternativa de valores binarios 47
5.3.4.3 Fijacin del sistema de numeracin por defecto. 47
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

4
6 DEPURACIN DEL CDIGO II: COMANDOS PARA LA DEPURACIN 48

6.1 Opciones del men de depuracin 48
6.2. Control de la depuracin mediante la barra de herramientas. 49
6.2.1 Opciones avanzadas de depuracin. 50
Ventana de analizador lgico, ventana de anlisis de
rendimiento, ventana de uso del cdigo y ventana de
traza de instrucciones 50
6.3 Control de la ejecucin: paso a paso y ejecucin hasta una lnea. 51
6.4 El trabajo con los puntos de ruptura 52
6.4.1 Cmo poner/quitar rpidamente una ruptura 53
6.4.2 Codificacin por colores de los puntos de ruptura.. 53
6.5 Atajos mediante teclado 54

7 FINALIZACIN DEL TRABAJO. 54

8 AYUDA EN LNEA. 54

APNDICE 1: RESUMEN DE PASOS PARA CREAR UN PROYECTO, EDITAR EL
CDIGO FUENTE Y DEPURARLO.. 55

ANOTACIONES. 57

NDICE DE FIGURAS 61



































Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

5

















PREFACIO

En este prontuario slo se van a presentar las funciones bsicas para poder afrontar el
desarrollo y la depuracin de cdigo ensamblador para los microcontroladores de la familia
MCS51.
En las figuras de los ejemplos comentados se podr observar, frecuentemente, que en los
mens aparece una serie de opciones de las que algunas ni se mencionan. Esto ha sido as
por dos motivos: o bien porque slo resultan tiles en casos muy particulares y excepcionales
(normalmente en el desarrollo profesional de grandes aplicaciones, utilizndose en la
programacin el lenguaje C o mixto C y ensamblador) o bien porque su utilidad es secundaria y
muy intuitiva de captar a poco que se interacte con el entorno de desarrollo Vision 4

de
Keil

y se tengan unos slidos fundamentos de la filosofa de trabajo con herramientas que se


ejecutan bajo el sistema operativo Windows

.
Por otro lado, algunas de las funciones comentadas pueden realizarse adems de por el o los
mtodos indicados tambin por otros medios no explicitados. Queda a criterio del lector el
curiosear por su cuenta en la ayuda en lnea para advertir esto.

A pesar del carcter de prontuario de este documento, que por ello resulta forzosamente
sinttico, con lo aqu esbozado se tiene ms que suficiente para hacer uso de los recursos que
en el 99% de los casos se necesitarn en un trabajo de pequea o mediana escala. Y, por
supuesto, en el 100% de un trabajo estudiantil.

Si el lector estuviese manejando la versin electrnica de este documento, entonces aquellas
imgenes cuyo texto no se aprecie bien y se desee verlo con detalle pueden aumentarse de
tamao actuando en el visor (por ejemplo, Acrobat Reader

) con la opcin o herramienta de


ampliar. La resolucin de las imgenes es la misma que se tendra si se observasen en
pantalla al ejecutar la aplicacin Vision 4

.

Para finalizar, y bajo la premisa latina de que errare humanum est, es posible que a pesar de la
atencin prestada durante la revisin del documento pueda el lector encontrar algn tipo de
error en este prontuario, sea de forma o de fondo. Si fuese ste el caso se agradecer se
ponga en conocimiento del autor para proceder a corregirlo en futuras versiones del
documento. Las comunicaciones pueden dirigirse a la siguiente cuenta de correo electrnico:

a.caparros.aceyte@gmail.com

Igualmente son bienvenidas las sugerencias y comentarios que se estimen oportunos.


Crdoba, marzo de 2010
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

6
0. INTRODUCCIN

El entorno de desarrollo Vision

de Keil

es una herramienta de carcter profesional de


enorme calidad que junto con alguna que otra ms se ha convertido en un estndar de facto
para el desarrollo de aplicaciones basadas en la familia de microcontroladores MCS51.
Aunque la filosofa de esta herramienta se ha venido manteniendo de versin a versin, en lo
concerniente a la interfaz con el usuario Vision 4

presenta algunos rasgos que la distinguen


con respecto a su precedente versin, Vision 3

. Por este motivo se comienza este prontuario


comentando las peculiaridades del nuevo aspecto de la interfaz grfica de usuario, as como la
filosofa de trabajo y configuracin de las diversas ventanas que componen el entorno.

El entorno Vision 4

de Keil

presenta dos modos bsicos de trabajo:



Modo principal o de proyecto

Modo de depuracin



En el modo de proyecto la interfaz del entorno se presenta adecuada para la gestin de un
proyecto de programacin, con lo que conlleva de definicin de sus caractersticas, tipo de
procesador a utilizar, partes en las que se decide subdividir su desarrollo, definicin de las
tcnicas de optimizacin en la compilacin si se programa en lenguaje C, gestin de los
diversos mdulos de cdigo fuente a la hora de construir la aplicacin final, tipo de archivos o
ficheros a generar al ensamblar (o compilar) y montar, documentacin asociada al proyecto,
etctera, por slo mencionar algunas de las cuestiones involucradas en la gestin de un
proyecto.

Una vez finalizada la creacin de un proyecto y ya disponible la aplicacin final, resulta
imprescindible realizar la depuracin funcional del cdigo desarrollado. Para ello Vision 4
ofrece el modo de depuracin, mediante el que se puede la llevar a cabo a travs de la
ejecucin real del cdigo volcndolo previamente en alguna placa de desarrollo o en la final
que soportar en la realidad el cdigo. Vision 4 permite el enlace del entorno con este tipo de
placas, bien sean tambin de Keil, bien de terceras partes o propias.
Tambin es posible realizar la depuracin sin un soporte fsico que ejecute realmente el cdigo.
Para ello Vision 4 integra un excelente simulador con el que se puede simular el
funcionamiento del procesador incluyendo todos los perifricos que ste pueda incorporar.


0.1 Componentes del sistema de Vision
El entorno Vision 4 engloba una serie de componentes mediante los que se pueden llevar a
cabo los procesos inherentes al desarrollo y depuracin de aplicaciones. En la figura siguiente
se muestra un esquema de cmo se interrelacionan stos. Los componentes son los
siguientes:

El EDI de Vision.
El entorno de desarrollo integrado (EDI, o IDE en ingls) combina, entre otras
caractersticas:

- La gestin de proyectos

- Un editor especficamente concebido para este tipo de aplicaciones y dotado
con correccin interactiva de errores

- Ajuste de opciones

- Utilidades de construccin de la aplicacin

- Ayuda en lnea.

Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

7
C51 (Compilador) y A51 (Macroensamblador).
Los archivos o ficheros fuente creados con el EDI de Vision se pasan al compilador
C51 o al macroensamblador A51. Estos componentes los procesan y generan los
ficheros objeto reubicables que sern procesados por el mdulo montador.
El compilador C51 de Keil es totalmente conforme con la especificacin ANSI del
lenguaje de programacin C. Adems, contempla caractersticas adicionales para la
arquitectura MCS51.
El macroensamblador admite el repertorio comn completo del 8051 as como el de
todos sus derivados, algunos de los cuales poseen un repertorio ampliado. Adems,
como tal macroensamblador, admite el uso de macros en la escritura del cdigo.






































LIB51: Gestor de libreras.
Este componente permite al usuario crear libreras de mdulos objeto generados por el
compilador y el macroensamblador. Las libreras son una coleccin de mdulos objeto
especialmente formateada, que constituye un conjunto de programas o subrutinas
llamables desde el proyecto del usuario y que pueden ser tomadas selectivamente por
el montador en el momento de generar la aplicacin final. La ventaja de disponer de
una coleccin de libreras de funciones es que el programador no tiene que disear por
su cuenta aquellas subrutinas o funciones que se encuentren en ellas. El paquete de
software Vision incluye una serie de libreras que ofrecen, por ejemplo, funciones de
tipo matemtico con aritmtica de coma fija, de emulacin de coma flotante, etctera. A
estas libreras el usuario puede aadirles sus propias funciones diseadas ex profeso o
crear otras libreras nuevas con el gestor de libreras que ofrece el entorno de
desarrollo.
Compilador
de C
Macro-
ensamblador
Gestor de
libreras
Librera de
usuario
Vision: IDE con editor y constructor de aplicacin
Vision: depurador
Simulacin
de la UCP y
de los
perifricos
Adaptador
JTAG
(ULINK de
Keil)
Emulador o
programador
de 3 partes
Interfaz con
la placa de
aplicacin
Montador / Ubicador
Librera
de C
Fig. 0.1: Componentes del sistema Vision de Keil
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

8
BL51: Montador / Ubicador
La misin de este componente es crear un archivo o fichero absoluto tipo ELF/DWARF
a partir de los creados por el compilador o el macroensamblador as como, si es el
caso, de los extrados de las libreras por ser referidos por el programador al crear su
cdigo de aplicacin. Un fichero objeto absoluto se caracteriza por no poseer cdigo
reubicable, sino que ha de ubicarse en posiciones concretas de la memoria. Este
archivo absoluto generado por el montador se usa para alguna de las siguientes
cuestiones:

- Programar la ROM tipo FLASH de un microcontrolador, u otros tipos de
memorias. Se usa el fichero en formato HEX generado por el montador.
- Simulacin o depuracin en placa, mediante Vision en modo depuracin.
- Verificacin real del programa mediante un emulador en-circuito.

Todos los entornos de desarrollo incluyen una utilidad que suele denominarse Make y
que permite generar de manera muy cmoda la aplicacin final incluso cuando el
desarrollo est constituido por innumerables mdulos de cdigo fuente. Como se ver
ms adelante, esta utilidad hace un uso automtico de los mdulos compilador,
ensamblador y montador selectivamente sobre los ficheros fuente que lo precisen. En
el entorno Vision esta utilidad make recibe el nombre de Build (construir).




Depurador Vision
Se trata de un depurador simblico al nivel del cdigo fuente, es decir, que el
seguimiento de la ejecucin y la interactuacin se pueden hacer sobre el propio cdigo
fuente. Esto lo hace ideal para una depuracin rpida, inteligible y fiable del cdigo
desarrollado. Incluye un veloz simulador capaz de simular un sistema completo basado
en el 8051 o cualquier otro derivado de la familia, as como todos los perifricos
existentes (previa seleccin del dispositivo en una lista de procesadores soportados) y
hardware externo.
Tambin permite probar la aplicacin desarrollada; entindase en la placa real sobre la
que se ejecutar. Esto se puede realizar de distintas maneras:

- Instalando el monitor MON51 en la placa y descargando el programa de
aplicacin usando la interfaz con MON51 integrada en Vision. MON51 forma
parte del paquete Vision.

- Usando la interfaz AGDI, para utilizar el depurador de Vision en la
observacin de los recursos del sistema real.


En el caso de los derivados XC8xx de Infineon (antiguamente SIEMENS) y
PSD33xx/34xx de ST, el adaptador USB-JTAG ULINK de Vision permite usar la
interfaz de depuracin del entorno pero slo para presentar los resultados de tal
proceso e interactuar con l. La depuracin propiamente dicha la lleva a cabo el
sistema de depuracin integrado en el propio microcontrolador. La interconexin entre
Vision y la placa con el dispositivo se realiza mediante un aparato adaptador USB-
JTAG. Dicho adaptador se conecta mediante un cable USB al computador en que se
ejecuta Vision, y mediante una conexin JTAG a la placa con el microcontrolador.








Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

9
1. ASPECTO DE LA APLICACIN

El aspecto que por defecto presenta Vision 4 la primera vez que se entra en ella es el que se
ve en la figura:























En la parte superior se encuentra la barra de men, mediante la cual se puede acceder a
todas las opciones de Vision 4 de Keil, y debajo de ella se encuentra la barra de
herramientas, con los iconos de las funciones ms usuales. Estos iconos suponen un atajo
alternativo para realizar tales tareas.

Es importante advertir que si ya se hubiese trabajado con algn proyecto y se hubiese
modificado la apariencia y forma de las ventanas de la interfaz, entonces al entrar en Vision 4
se mostrar la interfaz exactamente igual a como qued al cerrase la aplicacin la ltima vez
en la que se trabaj con ella.



1.1. LA FILOSOFA DE LAS VENTANAS EN KEIL Vision 4

En el entorno de depuracin Vision 4 de Keil existen dos tipos de ventanas bsicas:

Las tpicas del sistema operativo Windows

, manejables como tales.



Las especficas de Vision 4, que aparecen o pueden aparecer dentro de una ventana
Windows

. Por ejemplo, las dos mostradas en la primera figura: las de gestin del

barra de men y herramientas
ventana de
gestin de
proyecto
ventana de
salida de la
construccin
Zona de trabajo para nuevas
ventanas que puedan abrirse
en la edicin o depuracin
Fig. 1.1: Aspecto inicial de la aplicacin
barra de men barra de herramientas
Fig. 1.2: la barra de men y de herramientas
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

10
proyecto y la salida de construccin, entre otras. En estas ventanas, en la esquina
superior derecha, pueden aparecer los controles mostrados a continuacin:








1.1.1. Control de la posicin de la ventana

Al pinchar con el ratn en este smbolo se despliega el men con los posibles tipos de
posicionado de la ventana.

Flotante (floating): La ventana se independiza y aparece
flotando. Con el ratn es posible redimensio-
narla, arrastrarla y ubicarla donde se desee, tal y
como se hara con una de Windows. Una
manera rpida de hacer una ventana flotante,
partiendo de una situacin acoplada, y
viceversa, es con una doble pulsacin izquierda
del ratn en la barra con su descripcin.

Acoplada (docking): La ventana aparece acoplada solidariamente a otras dentro de la
ventana Windows de Vision4 en la que se encuentre. Es la opcin por defecto.

Documento con pestaa (tabbed document): La ventana aparece en la zona de
trabajo, con una pestaa identificadora en la parte superior. Si ms de una
ventana se ha puesto de esta manera, las pestaas aparecen escalonadas,
como en un archivador de fichas, y pinchando en cada pestaa se hace visible
el documento (ventana) oportuno. Apuntando una pestaa y pulsando el botn
derecho del ratn emergen las posibles opciones a realizar con dicha ventana.











Para volver a la organizacin por defecto es necesario hacer Windows
Reset View to defaults en la barra de men.

Auto-ocultable (Auto Hide): Con esta opcin la ventana se oculta de modo que
aparece a la izquierda una pestaa vertical. Cuando el ratn se
mueve y entra en esta pestaa (sin necesidad de pulsacin
alguna) entonces aparece la ventana, no desapareciendo hasta
que el ratn sale de su rea, en cuyo caso se colapsa.

Obsrvese en este ejemplo que la ventana de Documentos
(books) se auto-oculta, mientras que la de Funciones est
visible (acoplada).
Si el ratn pasase por encima de la pestaa oculta, emergera
la ventana tal y como puede verse en la figura que sigue.

Control de la posicin de la
ventana
Cerrar ventana
Auto-ocultar
Fig. 1.3: Smbolos de control
de una ventana
Fig. 1.4:
Opciones de
posicin
Pestaa de la ventana de
proyecto (no visible)
Pestaa de la ventana de
documentos (visible)
Pestaa de la ventana de
plantillas (no visible)
Fig. 1.5:
Documentos
con pestaa
Fig. 1.6: Ventana auto-
ocultable
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

11















Obsrvese cmo el ratn se hace pasar por encima de la pestaa. En ese momento
emerge la ventana, con lmite por la derecha el de la ventana Vision 4 en la que se
halle (la ocupa en su totalidad), y lmite inferior el de la ventana de Windows

de la
aplicacin.
Al hacerse visible la ventana, como se aprecia en la figura superior, puede observarse
que el icono Auto-ocultar se muestra con cambio de orientacin (horizontal en lugar
de vertical). Para colapsar y hacer desaparecer la ventana basta con ubicar el ratn
fuera de sus lmites.


Ocultar (Hide): Cierra definitivamente la ventana. Por supuesto, puede volver a abrirse.


1.1.2. Auto-ocultar

El smbolo Auto-ocultar ofrece una va rpida de conseguir esta caracterstica para una
ventana en lugar de tener que hacerlo va smbolo de control de la Posicin de la Ventana.


1.1.3. Cerrar

Se trata del tpico smbolo para cerrar una ventana. Cuando se cierra una ventana se puede
volver a abrirla (o cerrarla si estuviese abierta) de una de estas dos formas:

Mediante la barra de men, haciendo View <Ventana_deseada>.

Mediante la barra de herramientas, con el icono de Ventana de Proyecto.















Al pinchar en la zona del tringulo, se despliega un
men con las distintas ventanas y su estado (abierta
o cerrada). Pinchando en una concreta se conmuta su
estado.
Fig. 1.7: a) Ventana auto-ocultada
a punto de reaparecer
b) Ventana reaparecida
ratn
pasando
por encima
de la
pestaa
Smbolo
cambiado de
orientacin.
Si se pincha,
se anula la
auto-
ocultacin
Fig. 1.8: Apertura de la ventana de proyecto
a) Por barra
de men
a) Por barra de herramientas
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

12
1.2. REDISTRIBUCIN DE LA ZONA DE TRABAJO Y DEMS VENTANAS

En la zona de trabajo, ya se ha dicho que se pueden abrir diversas ventanas en el proceso de
creacin y trabajo con un proyecto, o en la fase de depuracin funcional. Por defecto, en la
zona de trabajo las ventanas aparecen en su forma de documentos con pestaa, ya
comentada.

La zona de trabajo puede cambiarse de aspecto y de organizacin. Para ello es necesario
actuar sobre alguna o algunas de las restantes ventanas, lo que origina un cambio conjunto de
la distribucin de todas las ventanas y zona de trabajo. Los procesos que se van a comentar
se pueden aplicar sucesivamente con diferentes ventanas o pestaas una tras otra.
La manera de proceder es la siguiente:

Primero, pnchese en la barra superior de la ventana que se desee reorganizar (o en la
pestaa oportuna en el caso de una organizacin en pestaas y que slo se desee reubicar
esa pestaa en concreto y no todas las de la ventana). En el ejemplo, pestaa de Proyecto.

Manteniendo pulsado el botn izquierdo del ratn, arrstresela. En ese preciso momento
aparecern unos smbolos u operadores de organizacin, tal y como se aprecia en la figura.














operador de ubicacin
independiente, acoplada en la zona
superior del entorno de desarrollo
(1)
operador de ubicacin independiente,
acoplada en la zona lateral derecha
del entorno de desarrollo (3)
operador de ubicacin independiente,
acoplada en la zona lateral izquierda
del entorno de desarrollo (4)
operador de ubicacin independiente,
acoplada, con tamao limitado al de
la ventana junto a la que se ubica
(Gestin de Proyecto en este
ejemplo) (5.1, 5.2, 5.3, o 5.4)
operador de ubicacin independiente,
acoplada en la zona inferior del
entorno de desarrollo (2)
Esta ventana flotante aparece al
arrastrar la ventana o pestaa
deseada
operador de ubicacin en la zona del
entorno, en forma de ventana de
documento con pestaa (6)
Fig. 1.9: Redistribucin de ventanas mediante arrastre
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

13
Dependiendo de cmo se quiera reorganizar el aspecto de la ventana o pestaa, se
arrastrar hasta que el puntero del ratn se coloque sobre el smbolo de organizacin
deseado. Existen las siguientes posibilidades:

0. Dejarla flotante; para ello se deber soltar la ventana sin que se haga sobre ninguno de
los smbolos de organizacin.
1. Ubicarla acoplada en la parte superior de la ventana general de Windows.
2. Ubicarla acoplada en la parte inferior de la ventana general de Windows.
3. Ubicarla acoplada en la parte lateral derecha de la ventana general de Windows.
4. Ubicarla acoplada en la parte lateral izquierda de la ventana general de Windows.
5.1 Ubicarla acoplada encima de la ventana local del entorno Vision.
5.2 Ubicarla acoplada debajo de la ventana local del entorno Vision.
5.3 Ubicarla acoplada a la derecha de la ventana local del entorno Vision.
5.4 Ubicarla acoplada a la izquierda de la ventana local del entorno Vision.
6. Ubicarla en una zona del entorno, en forma de ventana de documento con pestaa.
En los casos 1, 2, 3 y 4 la ventana se extiende todo el ancho de la ventana Windows, mientras
que en los casos 5.n la ventana adopta un tamao ajustado al de esa zona o ventana local.

Cada vez que el puntero del ratn se coloca sobre uno de esos smbolos, se sombrea en la
pantalla la zona donde se ubicar la ventana que se quiere reubicar y reorganizar. Esto
puede verse en la figura siguiente:





Al ubicar el puntero del ratn en el
smbolo, se sombrea la zona que
ocupar la ventana o pestaa
reubicada)
Fig. 1.10: Efecto del arrastre de una pestaa, ventana o zona del entorno: marcado de zona de ubicacin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

14
Si en el caso del ejemplo de la figura anterior se soltase el ratn, el efecto sera el mostrado en
la figura que sigue:




A continuacin, a modo de resumen visual, se presentan algunas otras posibilidades.



























Fig. 1.12
Fig. 1.11: Resultado de reubicacin a la izquierda del entorno
Fig. 1.13
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

15














Ejemplos de ubicacin junto a la ventana de gestin del proyecto. Primero a su izquierda















y luego arriba de ella:















Ahora, un ejemplo de ubicacin junto a la zona de trabajo, a su izquierda:














Fig. 1.14
Fig. 1.15
Fig. 1.16
Fig. 1.17
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

16
Si lo que se desea es ubicar la ventana en la zona de trabajo, con forma de documento con
pestaa, hay que arrastrar la ventana o pestaa hasta algn punto de la zona de trabajo. Al
aparecer los smbolos de ubicacin, apntese con el puntero al centro de la cruz y sultese.
Automticamente aparecer la pestaa en la zona de trabajo. Tngase en cuenta que si lo que
se arrastra es una ventana compuesta por varias pestaas entonces se trasladarn todas las
pestaas.
Lo dicho anteriormente se ilustra en los siguientes ejemplos.

Ejemplo de traslado de la pestaa de proyecto a la zona de trabajo:















Ejemplo de traslado de todas las ventanas (pestaas) en la zona de gestin del proyecto
a la zona de trabajo: Primero (fig 1.19.a) se arrastra desde la parte superior de la ventana,
luego (fig.1.19.b) se mueve hasta algn punto de la zona de trabajo:




Como se ve en fig.1.19.b, desaparece la ventana de su ubicacin original y se expande la zona
de trabajo. Al aparecer los smbolos de ubicacin, se sigue arrastrando hasta apuntar
(fig.1.19.c) con el puntero del ratn el smbolo del centro de la cruz que representar, en este
caso, la zona de trabajo. Entonces (fig.1.19.d) se suelta el ratn y automticamente se ubican
las ventanas en forma de documentos con pestaas:













Obsrvese cmo se ha
aadido la pestaa de la
ventana de Proyecto
Fig. 1.19: a)
Fig. 1.18
b)
d) c)
Obsrvese cmo se ha
aadido la pestaa de la
ventana de Proyecto
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

17
2. CREACIN DE UN PROYECTO

Para el trabajo con Vision 4 de Keil, antes de hacer nada hay que crear un proyecto.

2.1. Creacin de un proyecto.
Si no estuviese ya creado, para crearlo hgase lo siguiente:
Project New Vision Project






























Si ya se hubiese creado el proyecto anteriormente, entonces habra que abrir el proyecto. Esto
se puede hacer mediante la barra de men va Project Open Project. Tambin, como
alternativa, se puede abrir un proyecto ya existente seleccionndolo de entre los que
aparezcan relacionados en la parte inferior del men desplegable que se abre al seleccionar la
opcin Project en la barra de men. Esto se puede advertir en la figura de arriba. Los
proyectos que aparecen relacionados son los que se hayan abierto ltimamente; es decir, los
proyectos ms recientes con los que se haya trabajado.

En la figura precedente tambin puede observarse que ciertas opciones no aparecen elegibles
(estn en gris claro) debido a que en este caso no existe ningn proyecto abierto. Si lo
estuviese ya uno, entonces estas opciones seran aplicables a dicho proyecto. Por ejemplo, las
funciones de cerrar proyecto (Close Project), seleccionar dispositivo (Select Device for Target),
suprimir elemento (Remove Item), construir aplicacin (Build target), etctera.

Cuando se crea un proyecto nuevo, en la ventana que se abre dsele nombre al proyecto y
ubqueselo en la carpeta que se desee (si no existiese, crese). Esta ventana es una tpica
ventana de Windows de apariencia y funcionalidad similar a la que aparece cuando con
cualquier aplicacin se va a abrir o guardar un fichero. A travs de ella se puede navegar por la
estructura de directorios o carpetas de las distintas unidades de almacenamiento que puedan
existir, as como incluso crear nuevas carpetas o realizar las dems funciones posibles de
trabajo con archivos o ficheros. Si se tienen conocimientos slidos de la filosofa de trabajo con
un sistema operativo basado en ventanas, como por ejemplo Windows, se sabr a qu nos
estamos refiriendo. En la figura que sigue puede observarse lo dicho:
Fig. 2.1: Nuevo proyecto
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

18





















A continuacin, se abrir otra ventana en la que hay que seleccionar el procesador que se vaya
a utilizar. Para ello se selecciona el fabricante pinchando en su nombre o en el smbolo + de la
relacin, ante lo cual se expande y aparecen los diferentes dispositivos existentes para dicho
fabricante, tal y como puede observarse en la siguiente figura:







De entre las diferentes referencias de microcontroladores, se busca y elige el deseado. En
nuestro caso ser la CPU de ATMEL, AT89S52, pero bien pudiera ser cualquier otro.
Fig. 2.2:
Ventana para
dar nombre y
ubicar el
proyecto
Fig. 2.3: Ventana para seleccionar el fabricante del dispositivo
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

19
Esto puede verse en la siguiente figura:




A continuacin se pregunta si se desea copiar al proyecto un fichero con una plantilla para
iniciar el cdigo que se vaya a escribir. Respndase S o No segn se desee (inicialmente,
eljase NO).













2.2. Apertura de un proyecto.

Una vez que se haya creado un proyecto, cada vez que se vaya a trabajar se empezar
abriendo el proyecto, caso de no estarlo ya por defecto, haciendo en la barra de men:

Project Open Project

En la ventana que se abre (una tpica de Windows para trabajar con ficheros), bsquese y
seleccinese el proyecto. Inicialmente, y salvo que se haya dicho que s a la pregunta de
copiar al proyecto una plantilla de partida, el proyecto estar vaco. Un proyecto es una
abstraccin y representa el conjunto de ficheros de cdigo fuente en que se haya estimado
conveniente dividir la escritura de un programa, as como otros documentos asociados.
Fig. 2.4: Ventana para seleccionar el modelo de microcontrolador
Fig. 2.5: Ventana para incluir o no una plantilla al proyecto
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

20




3 EDICIN DEL CDIGO FUENTE

3.1. Creacin y guardado de un fichero fuente
En nuestro caso, slo se crearn proyectos con un nico fichero fuente.
Lo primero, si no se ha creado ninguno, ser asociar uno al proyecto (tambin, en el
transcurso de un desarrollo es posible ir aadiendo, si se estima conveniente, nuevos
ficheros o mdulos fuente). Para ello, lo primero es crear un fichero: File New
Se abrir la ventana de edicin y se podr ya escribir el cdigo. Debe guardarse el fichero
abierto, haciendo File Save as para dar nombre al fichero y guardarlo en donde se haya
creado el proyecto. El nombre se le puede dar el que se desee, no teniendo por qu
coincidir con el del proyecto (cosa lgica si se piensa que un proyecto puede estar
compuesto por varios mdulos o ficheros, repartindose el cdigo fuente total entre ellos
en lugar de meter todo el cdigo en un gran y nico fichero). Como extensin del fichero,
utilcese preferiblemente ASM (por assembler) o A51 (por assembler 8051), o incluso S,
SRC (por source en ambos casos) o A (por assembler).















Fig 3.1: a) Creacin de fichero va barra de men b) dem va barra de herramientas
Fig. 2.6: Ventana con las opciones de proyecto
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

21
3.2. Asociacin de un fichero a un proyecto
Es necesario agregar los ficheros fuente a un proyecto. Para ello, si no estuviese ya
abierta, brase la ventana de proyecto en View Project window. Aparecer la estructura
que se le haya dado al proyecto. Cuando est vaco, cuelga de Target 1 el grupo1.

















Una vez hecho lo
anterior, pnchese en
Source Group1 y con
el botn derecho del
ratn se desplegar un
submen.

Seleccinese entonces
la opcin
Add Files to Group















b) Apertura de ventana de proyecto
mediante la barra herramientas
a) Apertura de la ventana de proyecto en barra de
men
c) Resultado de la apertura de la ventana
del proyecto
Fig. 3.2: Modos de abrir un proyecto
Fig. 3.3:
Asociacin de un
fichero a un proyecto
Nombre del proyecto
abierto
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

22
En la ventana que se despliega, bsquese seleccinese el fichero deseado.

.




(si se programa en
ensamblador,
asegrese de que la
plantilla de bsqueda
de ficheros es ASM
source file o bien All
files).


















Para asociar un fichero a un proyecto no es necesario que est escrito del todo; estando
vaco tambin es posible asociarlo.


3.3. Apertura y edicin de un mdulo de cdigo fuente

Una vez creado un proyecto y asociado(s) un(os) fichero(s), tambin es posible editar uno
de ellos abrindolo. La manera ms directa es, en la ventana de proyecto, pincharlo con el
ratn (doble pulsacin con el botn izquierdo, o botn derecho y seleccin de Open en el
men desplegable). Otra manera es actuando sobre el icono de apertura de fichero, en la
barra de herramientas, y buscando y seleccionndolo en la ventana subsiguiente (tpica
ventana de Windows de bsqueda y seleccin de un fichero en una estructura de
carpetas).




El fichero seleccionado queda, as,
aadido al proyecto
Fig. 3.6: a) Apertura mediante men local b) Apertura en barra de herramientas
Fig. 3.4:
Asociacin de un
fichero a un proyecto
Fig. 3.5: Resultado de la asociacin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

23
Al abrir un fichero, ste puede editarse en la ventana de edicin que se abre:




Para ello bastar ubicar el cursor en la ventana de edicin, y comenzar a escribir. Esta
ventana, por defecto, se ubica en la zona de trabajo, en forma de documento con pestaa.




4. CONSTRUCCIN DEL FICHERO EJECUTABLE FINAL

4.1. Ensamblaje y montaje de los mdulos

Una vez que se ha terminado de editar los ficheros que conforman un proyecto, hay que
crear la aplicacin final para poderla depurar. Para ello, plsese con el botn derecho
sobre Target 1 en la ventana de proyecto. Seleccinese Build target. En la ventana de
salida se informar de las incidencias del proceso de ensamblado y de montaje de los
diferentes mdulos fuente que constituyan el proyecto. Otro camino es va barra de
herramientas.





Fig. 4.1: a) Construccin de la aplicacin final b) dem mediante la barra de
mediante men local herramientas
Fig. 3.7: Ventana de edicin lista para ser usada
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

24
4.2. Definicin de las opciones de construccin de un proyecto

Si se tiene intencin de programar la FLASH ROM de un microcontrolador, entonces es
necesario asegurarse al hacer Build target de que se va a crear el fichero hexadecimal
que necesitan los equipos de programacin de MCUs. Para ello, hgase lo siguiente:

Project Options for target Target 1


Otra manera es hacerlo mediante el oportuno icono de la barra de herramientas.













Se abrir una ventana, y en la pestaa Output se deber activar la opcin Create HEX
file.

Tambin, en la pestaa Target pngase la frecuencia del cristal que se vaya a utilizar en
el diseo y mrquese la opcin Use on-chip ROM.
Lo primero resulta til en ciertos casos de depuracin en los que para una adecuada
simulacin se precisa una medicin de tiempos no tanto en ciclos mquina sino en valor
absoluto. Si no se supiese la frecuencia de trabajo entonces no sera posible llevar a cabo
adecuadamente el anlisis de la depuracin.

Sobre la opcin Use on-chip ROM, sta se refiere a informar que en el diseo que se est
llevando a cabo se usar la ROM interna de programa. De esta manera el depurador
puede saber cmo comportarse. Tngase en cuenta que existe una tcnica de desarrollo
de cdigo mediante conmutacin de bancos (bank switching, en ingls), y esta tcnica no
es aplicable con la ROM interna de programa.

Fig. 4.2:
a) Seleccin de las opciones
de salida en men emergente

Fig. 4.2: b) dem mediante la barra de herramientas

Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

25






En caso de diseos con memoria externa de
programa y de datos externos, esto permite
asegurarse de que no se excede su tamao
Frecuencia de trabajo
Se trabajar con la ROM
interna de programa
Fig. 4.3: Pestaa con las opciones de salida de un proyecto

Fig. 4.4: Pestaa para la definicin del sistema microcontrolador

Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

26
4.3. Diferencia entre Ensamblar, Construir y Reconstruir

La diferencia entre Rebuild target y Build target es que la primera ensambla y enlaza todos
los mdulos, mientras que la segunda slo ensambla aquellos mdulos que hayan sido
cambiados desde la ltima construccin (build o rebuild), acelerando as el proceso de
actualizacin del proyecto, y a continuacin enlaza todos los mdulos objeto. Lo que en Vision
se denomina build en la generalidad de este tipo de herramientas se denomina make.











La funcin Translate ensambla (o compila, caso de que se programe en C) exclusivamente el
fichero activo, es decir, el archivo que se encuentre abierto en la ventana de edicin en la zona
de trabajo.

Al ensamblar y montar el o los mdulos fuente y objeto de un proyecto, pueden o no producirse
errores. Las incidencias sucedidas en este proceso de construccin de la aplicacin se
muestran en la ventana de salida (Build Output), ubicada normalmente en la zona inferior del
entorno de desarrollo Keil Vision 4. Para ver estas incidencias es necesario que dicha ventana
est abierta, independientemente de su formato (ventana acoplada, flotante, auto-ocultable,
etctera). En la figura que sigue puede advertirse la informacin que resultara del proceso de
construccin del proyecto del ejemplo.















4.4. Gestin de errores en el ensamblado y montado

Caso de producirse errores, sean de edicin o de montaje, basta con una doble pulsacin con
el ratn en uno de los mensajes de error para que automticamente se active la ventana
oportuna. Por ejemplo, si el error es de edicin, se abrir o entrar en la ventana de edicin del
mdulo fuente en el que se encuentre ese error y el cursor se situar en la lnea que lo produjo,
de manera que as rpidamente el usuario podr hacer la oportuna correccin.

En la figura que sigue se ilustra el caso de la existencia de dos errores en la escritura del
ejemplo que se ha venido usando como proyecto. El primer error, en la lnea 32 del cdigo
fuente, consiste en que se ha cometido el desliz de referir la etiqueta VALIDASION en lugar de
VALIDACION, que es el nombre usado en su declaracin en la lnea 3. El segundo error, en la
lnea 34, es de tipo sintctico y consiste en el uso de un mnemotcnico inexistente; se ha
escrito SET en lugar de SETB.
En la siguiente figura se puede ver el efecto de hacer una doble pulsacin izquierda en la lnea
de la ventana de salida donde se informa del error en la lnea 32 del fichero. Obsrvese cmo
Reconstruir (Rebuild)
Construir (Build)
Ensamblar (Translate)
o compilar
Fig. 4.5:
Iconos de construccin,
reconstruccin y
ensamblado/compilado

Fig. 4.6: Mensajes en la ventana de salida sobre el proceso de construccin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

27
queda marcada la lnea errnea en la ventana de edicin, y el cursor se ubica al comienzo de
ella. As se podr realizar rpidamente la oportuna correccin del error.











































4.5. Caso de programacin en lenguaje C: opciones de compilacin

Si se programa en lenguaje C Keil Vision incluye un excelente compilador de C
entonces el consumo de memoria puede resultar superior al de una buena programacin
en lenguaje ensamblador. Para intentar minimizar esto, resulta imprescindible configurar
adecuadamente las opciones de compilado en lo que se refiere a las tcnicas de
optimizacin a utilizar en la compilacin del mdulo fuente seleccionado. Esta cuestin no
se tratar en este tutorial o prontuario, que se centra en el uso del lenguaje ensamblador.
No obstante, los pasos seran los siguientes:

1) Defnanse las opciones del fichero fuente escrito en C; para ello antes hay que
seleccionar el archivo en el proyecto pinchndolo con el ratn en la ventana de
Proyecto. Entonces hgase Project Options for file ????.C va barra de men o
caminos alternativos, siendo ????.C el nombre del fichero con el que se trabaja. Por
ejemplo:
Obsrvese la marca
(flecha turquesa) que
se ubica en la lnea
con el error
seleccionado en la
ventana de salida
Fig. 4.7: Gestin de los errores desde la ventana de salida del proceso de construccin
Doble pulsacin
izquierda del ratn
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

28













2) Al hacer lo anterior, se abrir una ventana de configuracin de opciones de compilado.
En esta ventana, actuando sobre las pestaas oportunas (Properties o C51, es decir,
Propiedades y Compilador C51) se podr seleccionar, entre otras cosas:

Si ese mdulo en C se incluye en la construccin del proyecto (compilado).
Si, al compilar, se generar el fichero en ensamblador. Esto es til para poder
ver cmo de eficiente es el cdigo generado automticamente por C51, y para
afinarlo a mano si se estima oportuno. Esta opcin, como puede suponerse, se
suele utilizar no tanto para analizar el conjunto del cdigo sino slo el de
aquellas porciones o subrutinas que se estimen crticas para conseguir el
rendimiento buscado.
Nivel de optimizacin del cdigo, en lo referentes a las diversas tcnicas de
compilacin a utilizar.
Criterio principal: optimizar el tamao o la velocidad del cdigo. Tngase en
cuenta que normalmente ambos criterios son antagnicos: a mayor velocidad
menor compactacin del tamao del cdigo y a mayor compactacin del cdigo
menor velocidad de ejecucin.


Esto puede verse ilustrado en las siguientes figuras.



1) seleccinese archivo
2) seleccinese Project Options
for File ????.C
Fig. 4.8: a) Opciones de compilacin va barra de men
Emerge al apuntar al fichero con el
ratn y pulsar el botn derecho
Fig. 4.8: b) Opciones de compilacin va ventana de proyecto

Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

29









Fig. 4.9: Opciones de compilacin: propiedades

Fig. 4.10 Opciones de compilacin: nivel y nfasis de optimizacin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

30
Opciones del nivel de optimizacin del cdigo:



Opciones del nfasis en la optimizacin:



Para entender en qu consisten los niveles de optimizacin, y las implicaciones que
tienen, consltese el manual del compilador.



5. DEPURACIN DEL CDIGO I: EL ENTORNO Y SU CONFIGURACIN

5.1. Inicio de una sesin de depuracin

Seleccinese Debug en la barra de men y en el desplegable seleccinese Start/Stop
Debug Session.














Fig. 5.1: Inicio del modo de depuracin
Fig. 4.11:
Opciones de
nivel de
optimizacin
Fig. 4.12:
Opciones de
nfasis de
optimizacin
a) en barra men
b) en barra de herramientas
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

31
Se entra en la ventana de depuracin automticamente, salvo si se est trabajando con la
versin demo de Vision 4, en cuyo caso entonces aparecer una ventana en la que se
advierte de que se est trabajando con una limitacin de 2 kilo-octetos de cdigo:











:
Realmente esta limitacin de 2K resulta irrelevante en bastantes ocasiones, y lo es
siempre en el mbito didctico. Con 2K de memoria de cdigo se pueden desarrollar
aplicaciones realmente complejas si se programa en lenguaje ensamblador; en este
lenguaje se puede optimizar notablemente el tamao del cdigo si se tiene suficiente
habilidad y soltura en su empleo.


5.2. Aspecto del entorno en modo depuracin

El aspecto de la ventana de depuracin mostrado en la figura siguiente es el que aparece
por defecto la primera vez que se entra a depurar un proyecto. Si el usuario cambia la
configuracin y disposicin de las ventanas o abre otras nuevas, al cerrar el proyecto al
finalizar una sesin de trabajo entonces la prxima vez que abra el proyecto y se entre en
el modo de depuracin se recuperar la misma organizacin que qued en la sesin
precedente.





Fig. 5.2:
Advertencia de
limitacin de tamao
para la versin demo
Fig. 5.3: Aspecto del entorno en modo depuracin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

32
Las partes que se pueden distinguir en ella son las siguientes:























5.2.1. La ventana de registros internos

En esta ventana se muestran los registros internos del procesador. Se presentan
agrupados; por un lado los registros Rn, y por otro los restantes significativos
(acumulador A, registro B, puntero DPTR, puntero de pila, etctera). El registro de
estado, PSW, se presenta en forma de registro o en forma de banderas individuales.
Obsrvese la tpica estructura arborescente de la informacin mostrada en la ventana de
registros, por lo que a voluntad puede expandirse o colapsarse la informacin mostrada,
pinchando respectivamente en el signo + del tem deseado.

Ventana de edicin
La misma que se tena antes de
entrar en modo depuracin pero con
algunas posibilidades adicionales
para la depuracin (por ejemplo,
seguir y controlar la ejecucin)
Ventana de registros internos
Obsrvese que existe tambin una
pestaa para la ventana de
proyecto
Ventana de desensamblado
Con ella se sigue y controla la
ejecucin
Ventana de rdenes
En la parte superior (a) el sistema informa del
resultado de los comandos dirigidos al depurado
e introducidos en la zona inferior (b), que es la
lnea de comandos. La zona (a) tambin
responde a varias de las acciones realizadas por
la barra de men o de herramientas
Zona de anlisis
Comprende diversas pestaas
tiles en el proceso de depuracin,
para inspeccionar los recursos del
sistema
Fig. 5.4: Zonas del entorno en modo depuracin
informacin sobre el tiempo
transcurrido en la ejecucin
(a)

(b)

Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

33


Caso de que se hubiese cerrado la ventana de registros, para volverla a abrir hgase
View Project Window en la barra de men o pnchese en el icono .


5.2.2. La ventana de edicin

La ventana de edicin es la misma que apareca en el entorno en la fase de creacin y
edicin de un proyecto. Por tanto, se puede hacer exactamente lo mismo que entonces.
No obstante no ha de perderse de vista el que se est en la fase de depuracin y por
tanto los cambios editados no tendrn ningn efecto sobre el cdigo depurado. De
hacerse algn cambio y pretender que ste tenga efecto, es necesario salir del modo
depuracin y regresar al modo inicial para proceder a ensamblar, construir o reconstruir
el proyecto y slo entonces reentrar en el modo depuracin.

En el modo depuracin la ventana de edicin tiene una utilidad adicional. A su izquierda
se puede observar, por un lado, una flecha amarilla que indica la prxima instruccin a
ejecutarse (es decir, donde apunta el contador de programa); y por otro la parte del
cdigo fuente que es ejecutable (sombreado en gris oscuro).
Como se ver ms adelante, sobre esta ventana se puede interactuar, como atajo, para
realizar ciertos procesos en la depuracin. Por ejemplo, poner puntos de ruptura.

tem expandido:
pnchese en
para colapsar
tem colapsado:
pnchese en +
para expandir
Fig. 5.5:
Ventana de
registros
Fig. 5.6: Ventana de edicin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

34
5.2.3. La ventana de desensamblado

En la llamada ventana de desensamblado se presenta la misma informacin que en la de
edicin, pero adems se muestra su codificacin binaria (en equivalente hexadecimal),
junto con la direccin de memoria a partir de que se encuentra cada instruccin.

Igualmente, en el borde izquierdo se aprecia una flecha amarilla que significa lo mismo
que la de la ventana de edicin.







Pinchando sobre una lnea de estas ventanas (de cdigo o de desensamblado) se puede
interactuar con el proceso de depuracin. Y si se pincha y pulsa el botn derecho del
ratn, emerge una men con todas las posibilidades de interactuacin:








Las opciones fundamentales se comentarn ms adelante, especialmente aquellas
relacionadas con el proceso de depuracin. Tan slo nos detendremos en las opciones
Mixed mode y Assembly Mode.
Fig. 5.7: Ventana de desensamblado
Fig. 5.8: a) Ventana emergente en la de edicin b) ventana emergente en la de desensamblado
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

35
Modos de visualizacin: mixta o slo en ensamblador
El modo mixto (mixed mode) consiste en que en la ventana de desensamblado se
presenta la informacin en formato tanto tal y como figura en el cdigo fuente como, a
continuacin, en formato desensamblado de la memoria (direccin ocupada por la
instruccin, su codificacin binaria en formato hexadecimal, y la interpretacin de tal
patrn binario como una instruccin en formato mnemotcnico). En el modo
ensamblador no se acompaa con la informacin en formato editado.

A ttulo aclaratorio, obsrvese en el desplegable de la figura anterior cmo aparece
marcada la opcin Modo mixto (Mixed Mode). Para observar la diferencia entre este
modo y el Modo ensamblador (Assembly Mode) pueden verse las siguientes figuras:

Modo en ensamblador:

La ventana presenta los contenidos de la memoria interpretndolos tambin como
instrucciones en formato mnemotcnico. Por este motivo difiere de cmo aparece
en la ventana de edicin









Modo mixto:

La ventana presenta cada lnea tal y como se edit (aparece en color rojo), junto
con su la interpretacin de los contenidos como en el modo ensamblador.






El modo mixto normalmente slo resulta de utilidad cuando se programa en lenguaje C,
dada las diferencias abismales entre una sentencia en este lenguaje y su equivalente en
ensamblador como resultado de su compilacin. Cuando se programa slo en ensamblador
el modo mixto resulta un engorro que no aporta gran cosa y slo sirve para enmaraar la
informacin mostrada en la ventana de desensamblado; por ello, es recomendable
seleccionar la visualizacin en modo ensamblador exclusivamente.
En la figura del modo ensamblador puede verse que la instruccin 80FBh se desensambla
como SJMP INICIO(C:0x1000) en vez de SJMP 0x1003. Esto pone de manifiesto cmo el
depurador es de tipo simblico al nivel de cdigo fuente, pues tiene en cuenta los smbolos
definidos al escribir el cdigo fuente aunque se vea slo en formato desensamblado.
Fig. 5.9: Ventana de desensamblado en modo ensamblador
Fig. 5.10: Ventana de desensamblado en modo mixto
Direccin a
partir de la que
se encuentra la
instruccin
Contenido de las posiciones 1003h
(octeto 80h) y 1004h (octeto FBh)
Interpretacin mnemotcnica de los
contenidos (80FBh) como instruccin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

36
5.2.4. Zona de anlisis

Esta zona engloba una serie de ventanas que resultan de utilidad en el proceso de
depuracin. Mediante ellas se pueden inspeccionar ciertos recursos del sistema e
interactuar con ellos. Las diferentes ventanas son las siguientes:

Ventana(s) de memoria: En ellas se puede inspeccionar y modificar los contenidos
de la memoria del sistema. Por defecto slo existe una ventana, pero es posible
abrir hasta cuatro. Tpicamente para inspeccionar la RAM interna, la memoria de
programa y la memoria externa de datos.

Ventana(s) de observacin: Est(n) concebida(s) para agrupar recursos dispersos
que conviene tener juntos para facilitar y hacer ms cmoda la depuracin.

Ventana de smbolos: En ella se presenta el valor de todos los smbolos utilizados,
bien sean predefinidos (direccin equivalente de los nombres de los registros
normales y de los SFR) o bien sean los definidos por el usuario al crear su cdigo.

Ventana de variables locales: En ella se presentan las variables definidas por el
programador.

Ventana de la pila de llamadas a subrutina, para saber la estructura de llamadas
anidadas a subrutina.





5.2.5. Ventana de rdenes

Posee dos zonas; una amplia en la parte superior, en la que el entorno Vision 4 informa
del resultado de los procesos invocados por cualquier medio, y una pequea en la parte
inferior a travs de la cual el usuario puede invocar en modo consola o terminal las
distintas aplicaciones y funciones que conforman el sistema de desarrollo (por ejemplo, el
mdulo de ensamblado o de montaje). A travs de esta ventana se pueden introducir
comandos que no son posibles de otra manera o bien otros que pueden invocarse
mediante la barra de men o barra de herramientas pero que de este modo se pueden
acompaar de parmetros o modificadores complejos.




Zona de informacin del resultado de ciertos comandos
lanzados al entorno de desarrollo
Zona de introduccin de comandos dirigidos al sistema
Fig. 5.11:
Zona de
anlisis
Fig. 5.12:
Ventana
de
rdenes
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

37
5.3. PASOS PREVIOS A LA DEPURACIN DEL CDIGO ENSAMBLADOR

Como se acaba de ver, al entrar por primera vez en modo depuracin se parte de una situacin
en la que se muestran ciertas ventanas. Segn cada caso, puede resultar conveniente:

Eliminar algunas de ellas por intiles, y abrir otras que no lo estn pero que se
considera que se necesitarn.

Definir la informacin que se desea analizar con estas ventanas.

Reubicarlas, reformatearlas, redimensionarlas y, finalmente, definirlas y dotarlas de
contenido.

Parte de estas cuestiones ya se han visto al comentar la filosofa de ventanas que posee el
entorno Vision 4. Otras se comentarn a continuacin.



5.3.1 Primero: abrir las ventanas no presentes

Existen varias posibilidades de hacerlo:

a) Va barra de men, con la opcin View.




















Fig. 5.13: Seleccin de las ventanas a abrir, va opcin View en la barra de men
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

38
b) Va barra de herramientas, para las ventanas usuales.
















c) Si lo que se desea es abrir ventanas de los diversos perifricos, entonces en la barra de
men se selecciona la opcin Peripherals y se selecciona el o los perifricos deseados.






Ventana de
comandos
Ventana de
desensamblado
Ventana de
smbolos
Ventana de
registros
Ventana de
pila de
llamadas
Ventanas de
observacin
Ventanas de
memoria
Ventanas de
puertos
serie
Ventana de
anlisis
Ventana de
traza
Posibles ventanas
de observacin
Posibles ventanas
de memoria
Posibles ventanas de comunicacin serie Posibles opciones de anlisis
Fig. 5.14: Seleccin de las ventanas a abrir, va barra de herramientas
b)
Opciones de
puertos


c)
Opciones de
temporizadores
Fig. 5.15:
a) Apertura de
ventanas de
perifricos
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

39
Las ventanas de los perifricos son del tipo propio de Windows, con la salvedad de que estn
bloqueadas y por tanto no se pueden redimensionar ni minimizar; tan slo se pueden arrastrar
y cerrar. En las siguientes figuras pueden verse las ventanas de algunos de los perifricos.
Debe tenerse en cuenta que el tipo de perifricos, y por tanto sus ventanas, estarn en
consonancia con el tipo de procesador que se haya definido al crear el proyecto.



































En las ventanas puede verse que existen campos meramente informativos, as como otros con
los que el usuario puede interactuar modificando sus valores, lo que implicar los oportunos
cambios en el modo operativo del perifrico afectado. En los campos de bit el smbolo
representa un 1 lgico, y su ausencia un 0 lgico.
= 1
= 0
Fig. 5.16: Aspecto de diferentes ventanas de perifricos
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

40
5.3.2. Segundo: reubicar, formatear y redimensionar las ventanas

Antes de empezar, conviene ubicar y formatear las ventanas en el lugar que se considere ms
adecuado. Aqu interviene frecuentemente el gusto personal del usuario, pues cada persona
tiene sus preferencias subjetivas en cuanto a la configuracin visual del entorno de trabajo. La
manera de hacer esto ya se coment al hablar de la filosofa de las ventanas en el entorno
Vision 4.
Para el redimensionado, se puede actuar de diferentes formas en funcin del formato de cada
ventana:

Si la ventana se encuentra acoplada o como documento con pestaa, quiere decir
que est en una zona unida solidariamente a otra. Recurdese que las zonas son
cinco: la de registros, la de desensamblado, la de edicin, la de comandos y la de
anlisis. Existir una separacin entre esas zonas y al ubicar el ratn sobre esa zona
fronteriza puede observarse que el smbolo de ste (puntero en forma de flecha) se
muta en un smbolo indicador de frontera (distinto segn se trate de una frontera
vertical (||) o una horizontal ( ).





















Por tanto, bastar con ubicar el puntero del ratn en una zona fronteriza hasta que el
smbolo del ratn tome la forma del redimensionador de ventana. Para redimensionar
se pulsar el botn izquierdo del ratn y se arrastrar hasta que se redimensione en la
forma deseada. Es decir, se obra de manera similar a la tpica de una aplicacin
Windows

en lo que respecta al redimensionado de campos dentro de una aplicacin


(redimensionado de campos, que no de ventanas), como es el caso de las celdas de
una tabla en Microsoft Word o en Excel.


Si la ventana es flotante, entonces se puede redimensionar de manera idntica a
como se hara con cualquier ventana tipo Windows

.
Fronteras
verticales
Fronteras
horizontales
Fig. 5.17: Redimensionado actuando sobre las fronteras entre zonas acopladas
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

41
5.3.3. Tercero: definir y dar contenido a las ventanas

En la mayora de las ventanas que se abran para el proceso de depuracin se observa que
aparecen vacas. ste sera el caso de las de memoria y las de observacin, por ejemplo. En
otras, aparecen con informacin pero es preciso modificarla. Pues bien, a continuacin se
indicar cmo llevar a cabo esto en las ventanas ms significativas y tiles.


5.3.3.1. Contenidos en las ventanas de memoria:
Una vez que se hayan abierto tal y como se dijo en un epgrafe anterior (en la barra de
men haciendo View Memory Windoa Memory n, o en la barra de herramientas
sobre el icono de ventanas de memoria) entonces es necesario especificar lo siguiente:

- Qu tipo de memoria se desea ver: RAM interna, memoria de programa o
memoria externa de datos.

- A partir de qu direccin se desea verla.

En la figura que sigue puede verse el aspecto de la zona de anlisis con tres ventanas de
memoria vacas. Puede observarse que el campo de direccin (address) de la ventana 1
de memoria se encuentra sin definir.




Si se quisiese definir la ventana n1 para ver la memoria de programa a partir de la
direccin 30h, se introducira en el campo de direccin la expresin C:30h y se validara
con la tecla <intro> (tecla ). El resultado sera el que se muestra a continuacin:



Como puede verse, en cada lnea primero aparece la direccin de memoria a partir de la
que se muestra el contenido, y entonces los contenidos (mostrados como valores en
hexadecimal) de sa y de las siguientes posiciones.
pestaas de las
distintas ventanas
direccin a partir de la que se desea
ver la memoria en la ventana N1
Indica que se pueden
modificar los valores de la
memoria. Si se pincha, se
bloquea esa posibilidad
Fig. 5.18: Ventanas de memoria
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

42
Dado que en un microcontrolador tipo 8051 existen varios tipos de memoria con idntico
valor de direccin, con un prefijo se indica el tipo de memoria que se desea ver. Para
cdigo C: (por ejemplo, C:1000h C:0x1000 para ver la memoria de cdigo a partir de la
direccin 1000h). D: para la RAM interna; X: para la memoria externa de datos.


5.3.3.2. Contenidos en las ventanas de observacin
Si no lo estuviesen, se abren haciendo View Watch Window Watch n / Locals en la
barra de men, o pulsando sobre el icono oportuno en la de herramientas y seleccionando
la deseada de las tres posibles:




Estas posibilidades son:
- Variables locales: para ver las variables que se hayan declarado.
- Observacin N1: para agrupar en una sola ventana todos los elementos (registros y
variables) que se deseen. De esta manera se evita tener que mirar varias ventanas
diferentes.
- Observacin N2: dem.
- Pila de llamadas a subrutinas: para saber la estructura de llamada concatenadas a
subrutina.











La utilidad de la ventana de observacin, como ya se ha dicho, es que permite agrupar en
una sola ventana informacin parcial pero fundamental para la depuracin que de otra
manera estara dispersa entre otras muy diversas ventanas: registros, memorias, pila,
cdigo y que por tanto resultara muy incmodo de consultar en la depuracin del cdigo.


Cmo aadir un elemento a la ventana de observacin
A una ventana de observacin hay que dotarla de contenido. Para ello, se pulsa la tecla F2
(o se da una doble pulsacin izquierda con el ratn) y en el campo que se abre se teclea el
nombre del recurso. Al pulsar <intro> automticamente se aade ese tem a la lista de
elementos en la ventana de observacin y se muestra su valor.
Fig. 5.19:
Opciones en las
ventanas de
observacin
Fig. 5.20: Aspecto de una ventana de observacin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

43
Por ejemplo, si se quisiese observar el registro R2, el bfer serie SBUF, la etiqueta TEXTO
y las seales VALIDACION y RECONOCI, y el bus BUS_DATOS usadas en el proyecto
del ejemplo, se iran tecleando esos nombres, y al validar cada vez con <intro> se iran
aadiendo a la lista y se mostrara su valor, tal y como se recoge en la imagen siguiente:






Obsrvese que para la etiqueta TEXTO se da su valor (direccin que representa) y no su
contenido (que en el ejemplo del proyecto es 50h; es decir en la posicin 0047h de la
memoria de programa se almacena el octeto de valor 50h).


Cmo eliminar un elemento de la ventana de observacin
Si se desea eliminar un tem de la lista de la ventana de observacin, primero hay que
seleccionarlo con una doble pulsacin izquierda del ratn (se pone con fondo azul),
borrarlo (con la tecla de retroceso, , no la de cursor izquierda) y pulsar entonces <intro>
(tecla ). Otra manera es apuntarlo con el ratn, pulsar el botn derecho y seleccionar en
el desplegable la opcin Remove Watch <tem>.


Cmo cambiar el sistema numrico de presentacin del valor de un elemento
Una vez aadido un recurso a la ventana, es posible seleccionar el formato de
presentacin de su valor. Para ello se selecciona el elemento (da igual hacerlo en el
campo del nombre o en el del valor), y con el botn derecho del ratn emerge una
subventana en la que se puede seleccionar el sistema de numeracin en el que se
mostrar el valor, tal y como puede verse en la imagen que sigue.






Fig. 5.21: Aadido de elementos a una ventana de observacin
Fig. 5.22: Opciones de sistema de representacin de un valor de observacin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

44
5.3.4. Introduccin de valores numricos en las ventanas

Hay ventanas en las que se muestra informacin sobre recursos del sistema: registros
internos, posiciones de memoria, variables, etctera. En este tipo de ventanas
habitualmente es posible modificar al vuelo el valor de uno o varios de esos recursos. La
manera de hacerlo es la tpica e intuitiva de Windows: con el ratn se apunta el elemento y
con el botn derecho se despliega un men especfico con las posibles acciones a realizar
con l y se selecciona la deseada, Modify Memory at en este ejemplo:







En esta figura se ve el men emergente al abrir con el ratn la posicin 87h de la RAM
interna. Tambin pueden verse las opciones de visualizacin de los valores en la ventana
de memoria. Si no est seleccionado el modo Decimal, se muestra en hexadecimal (salvo
formato incompatible, como la coma flotante). Si los datos en memoria representasen
palabras de diecisis bits, sin signo, se elegira verlos, por ejemplo, como unsigned int:






Si se observa la figura de arriba y se compara con la inmediatamente anterior a ella,
puede observarse que no aparecen las opciones Modify Memory at ni Set Breakpoint at. El
motivo es que se ha pinchado con el ratn en una zona intermedia entre dos valores, y no
justo sobre uno de ellos.

Fig. 5.23: Introduccin de valores en una ventana de memoria
Fig. 5.24: Opciones de formato de visualizacin de valores
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

45
El resultado de hacer lo anterior es lo siguiente:




Como puede verse en esta figura, ahora se juntan los valores de dos en dos octetos para
tener una nocin ms clara de cmo se agrupan. No obstante, advirtase que la palabra
de diecisis bits sigue el criterio octeto alto en memoria baja y octeto bajo en memoria alta.
Si el criterio fuese el contrario debera tenerse en cuenta pues, en el ejemplo, en lugar de
ser el dato 20A2h sera el A220h

Al seleccionar la opcin Modify Memory at, es decir, modificar la memoria en la direccin
especificada, se abre una ventana en la que se puede introducir un nuevo valor. Si lo que
se quiere hacer es introducir varios valores en posiciones consecutivas a partir de esa
dada, se teclean los valores separados por comas. Por ejemplo:



Aqu se introducirn los valores 10h, 2Fh y 45h en las posiciones 87h, 88h y 89h de la
RAM interna. Al validar los nuevos valores, en la ventana de memoria del ejemplo se
visualizar lo que se muestra en la siguiente figura.
Si en una ventana no cupiese toda la informacin visualizable, se disponen de los tpicos
ascensores de una ventana Windows.





Nuevos valores
introducidos
Ascensor de
desplazamiento vertical
Fig. 5.25: Opciones de formato de visualizacin de valores enteros de 16 bits
Fig. 5.26:
Ventana de
introduccin de
valores numricos
Fig. 5.27:
Resultado de la introduccin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

46
Otra manera de introducir valores es haciendo una doble pulsacin izquierda del ratn
sobre la posicin que se desea modificar o a partir de la que se desea hacerlo (a). Se
abrir un campo numrico, y se introducir el nuevo valor, o los valores sucesivos
separados por comas (b).








En las ventanas de memoria, en la esquina superior derecha, pueden verse los smbolos
de candado que permiten congelar o no la actualizacin de estas ventanas. En ocasiones
resulta de utilidad el congelar el refresco cuando se est depurando cdigo que accede
frecuentemente a la memoria, puesto que la velocidad de simulacin se ve afectada
negativamente.




Pulsando con el ratn sobre estos iconos se conmuta su estado.
No debe confundirse esta funcin de congelacin o no de las ventanas de memoria (que
slo afecta a stas) con la funcin View Periodic Window Update , accesible va barra
de men y que afecta a todas las ventanas del entorno.



5.3.4.1. Cdigo de colores en las ventanas de memoria
En la ventana de memoria los contenidos de las posiciones se muestran empleando un
cdigo de colores:

Negro Indica memoria que es de programa o RAM no inicializada en la aplicacin

Rojo Para datos CONST en FLASH o ROM, que se han accedido al menos una vez

Oro Indica memoria que se ha iniciado, pero que no se ha accedido todava

Verde Indica que la posicin de memoria se ha accedido al menos una vez
a)
b)
c)
Fig. 5.28:
En estas figuras puede verse el proceso de
introduccin de los valores 5Ch, 27h, F2h y 7Bh
a partir de la direccin 31h de la RAM interna
(figs. a y b) as como el resultado final en la
memoria al pulsar finalmente <intro> (fig. c)
Ventana de memoria
no congelada
Ventana de memoria
congelada
Fig. 5.29: Iconos de congelacin del refresco de una ventana de memoria
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

47
5.3.4.2. Formato numrico de los valores introducidos o mostrados

Como en toda herramienta de desarrollo, se admiten diversos sistemas de numeracin a
la hora de introducir los valores de la memoria. La notacin que emplea Keil Vision es la
indicada en la siguiente tabla:


BASE PREFIJO SUFIJO EJEMPLO
binario No admitido Y y 101101y
octal No admitido Q, q, O u o 6721q
(1)

decimal No admitido T o ninguno
(2)
1743 1741T
hexadecimal 0x 0X H o h 0xA75F 0A75Fh
(3)

(1) En octal no se recomienda el uso de Q, O u o para evitar la confusin con el
carcter 0 (cero)
(2) Ninguno slo si el sistema utilizado por defecto es el decimal
(3) Obsrvese el uso de un 0 (cero) delante del dgito hexadecimal A, al ser un
dgito tipo carcter letra.

Posibilidad de especificar cmodamente valores numricos de cdigos ASCII

Cuando se desea indicar el valor numrico de un carcter ASCII, es posible notarlo no en
formato numrico sino en formato carcter. Si se trata de un solo carcter, se encerrar
entre apstrofos (). Si es una sucesin de caracteres, se encerrarn entre comillas (").
Por ejemplo: 'A es equivalente a escribir 0x41 41h. Hola es equivalente a escribir
'H,o,l,a o a escribir 48h, 4Fh, 4Ch, 41h. Puede advertirse la gran ventaja y comodidad
que supone la especificacin de valores en ASCII frente a la numrica explcita.

Posibilidad de especificar con seguridad valores binarios de numerosos dgitos
Cuando se considera conveniente introducir un valor en binario pero ste es muy largo, es
decir, consta de numerosos dgitos, entonces no es raro que inadvertidamente se cometa
un error al omitir inadvertidamente introducir uno o repetir otro. Para evitar esto, se pueden
introducir los bits en grupos, separando cada grupo con el carcter $. De esta manera es
ms fcil comprobar que lo introducido es correcto antes de validarlo.
Por ejemplo, si se hubiese decidido introducir en memoria el dato de diecisis bits
1101000110101011y, ste se podra introducir de la siguiente manera:
1101$0001$1010$1011y
Como puede verse, as resulta ms sencillo introducir sin temor a equivocarse y no darse
cuenta del error.
El nmero de dgitos de cada grupo de bits es a voluntad. Por ejemplo, el valor anterior
podra introducirse como 11010001$10101011y como 11$01000$110$101$011y.

5.3.4.3. Fijacin del sistema de numeracin por defecto
Cuando en la ventana de memoria se van a introducir valores, no es necesario utilizar
prefijo ni sufijo alguno si el sistema a utilizar es el establecido por defecto. Por ejemplo, si
en la ventana de memoria se ha seleccionado ver los valores en hexadecimal (unsigned
char y con Decimal desactivado), entonces se puede entrar el valor 7E sin necesidad de
explicitar 0x7E 7Eh.
Para fijar el sistema de numeracin por defecto, se introduce en la ventana de rdenes el
comando radix= <n>, siendo <n> la base del sistema (10T 16T). Para ver la base por
defecto actual, se introduce el comando radix.
El sistema de numeracin por defecto slo es aplicable a la ventana de rdenes y a los
valores introducidos por edicin directa sobre un campo, no ante apertura de ventana.

ADVERTENCIA: Vision no verifica la correccin de las expresiones numricas
introducidas, por lo que siempre debe prestarse especial atencin.
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

48
6. DEPURACIN DEL CDIGO II: COMANDOS PARA LA DEPURACIN

6.1. Opciones del men de depuracin
Para la depuracin, se tienen las utilidades usuales en cualquier herramienta de desarrollo:
ejecucin, paso a paso, puntos de ruptura, etctera. Las diversas opciones se pueden ver en la
opcin Debug de la barra de men.
Habiendo manejado ya alguna herramienta de depuracin se tiene la base para de manera
intuitiva familiarizarse con las peculiaridades de Vision. En la siguiente figura pueden verse las
distintas opciones:

Ejecutar (Run): Ejecuta a velocidad
rpida el cdigo.
Paso a paso (Step): Ejecuta slo la
instruccin a la que apunta el contador
de programa
Paso largo (Step Over): Permite
ejecutar una instruccin CALL sin
entrar paso a paso en la subrutina
(sta se ejecuta rpido).
Ejecutar hasta retornar (Step Out):
Habiendo entrado en una subrutina,
ejecuta rpido hasta llegar a un RET.
Ejecutar hasta (Run to Cursor line). Si
con el ratn se marca una lnea de
cdigo, permite una ejecucin rpida
hasta alcanzarse esa lnea.
Parar ejecucin (Stop Running): Si se
ha dado la orden de ejecutar, permite
detener la ejecucin.
Puntos de ruptura (Breakpoints):
Permite establecer o ver puntos de
ruptura, asignando atributos.
Insertar/Quitar punto de ruptura
(Insert/Remove Breakpoint): Permite
poner o quitar un punto de ruptura en
la instruccin seleccionada con el ratn
en la ventana de edicin o en la de
desensamblado.
Habilitar/Inhibir punto de ruptura
(Enable/Disable Breakpoint): Permite
habilitar o inhibir el punto de ruptura seleccionado con el ratn en la ventana de edicin o
de desensamblado, pero no lo suprime.
Inhibir todos los puntos de ruptura (Disable All Breakpoints): Permite inhibir todas las
rupturas que puedan existir.
Suprimir todos los puntos de ruptura (Kill All Breakpoints): Permite suprimir
definitivamente todas las rupturas.
Mapa de memoria (Memory Map): Permite analizar o definir la memoria en uso; es decir,
la que est efectivamente ocupada por cdigo de programa as como la RAM interna
(directa, indirecta y direccionable a bit) y externa de datos de que est dotado el sistema.
Ensamblador de lnea (Inline Assembly): Permite, en el modo depuracin, modificar el
cdigo de programa. Slo tiene cierta utilidad para cambios puntuales provisionales. Es
recomendable no usar esta opcin y en su lugar hacer los cambios en el modo proyecto.
Fig. 6.1: Opciones de depuracin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

49
6.2. Control de la depuracin mediante la barra de herramientas

Como se sabe, la barra de herramientas supone un atajo para los comandos ms usuales,
incluidos los de depuracin. Se tienen los siguientes:






































La herramienta de mostrar en las ventanas de edicin y de desensamblado la prxima
instruccin a ejecutar tiene su utilidad en proporcionar una va rpida de volver a ver el cdigo
prximo a ejecutar si en esas ventanas nos hemos movido hacia delante o detrs mediante los
ascensores de ventana.
La traza de ejecucin se refiere a ver en una ventana la relacin lineal de las instrucciones que
se han ido ejecutando en el tiempo. Puede ser til en ciertos casos de depuracin, pero
normalmente carece de utilidad.
Insertar/quitar punto
de ruptura
Quitar todos los
puntos de ruptura
Habilitar/Inhibir punto
de ruptura
Inhibir todos los
puntos de ruptura
Reiniciar
UCP
Ejecutar
Parar
Paso a paso
Paso largo
Ejecutar hasta
retornar
Ejecutar hasta
Mostrar
prxima
instruccin a
ejecutar
Mostrar/Habilitar
traza de
ejecucin
Abrir/cerrar
ventana de
desensamblado
Abrir/cerrar
ventana de
observacin y
pila de llamadas
Ventanas de
puertos serie
Ventana
visor del
sistema
Abrir/cerrar
ventana de
memoria
Abrir/cerrar
ventanas de
anlisis lgico
Abrir/cerrar
ventana de
smbolos
Entrar/salir del modo
de depuracin
Ventanas de gestin
del proyecto
Abrir/cerrar
ventana de
comandos
Abrir/cerrar
ventana de
registros
Abrir/cerrar
ventanas de
observacin
Actualizar
ventanas
Fig. 6.2: Iconos de depuracin en la barra de herramientas
Fig. 6.3: Iconos para trabajar con puntos de ruptura
Fig. 6.4: Iconos de control de la
ejecucin y anlisis de recursos
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

50






6.2.1. Opciones avanzadas de depuracin

Aunque algunas de las opciones que siguen requieren el dominio de conceptos y de la
metodologa de la depuracin avanzada, se comentarn brevemente para que el lector se
haga una idea somera de su utilidad:

Ventana del analizador lgico
Una vez abierta, su configuracin permite visualizar las seales de inters de
forma similar a como se veran con un analizador lgico conectado al sistema
fsico objeto de depuracin. En ocasiones esta utilidad puede resultar muy
interesante por la facilidad del anlisis grfico y de interrelacin temporal entre
seales que aporta. No es ni ms ni menos que un analizador lgico virtual.

Ventana de anlisis de rendimiento
Permite, tras configurar un perfil de ejecucin, analizar en qu partes del cdigo se
consume ms tiempo de ejecucin y en cuales menos. Esto es extremadamente
til para, en caso de duda, tomar la decisin de qu partes del cdigo merecen la
pena ser optimizadas y cules no. Sera absurdo esforzarse en optimizar unas
rutinas complejas que se van a ejecutar de tanto en tanto y que, en condiciones
no crticas, tendrn un impacto irrelevante en el rendimiento global del sistema.

Cobertura o uso del cdigo
Permite ver para cada subrutina qu tanto por ciento del cdigo que lo compone
ha llegado realmente a ejecutarse. Es til para ver qu partes no han llegado a
depurarse y tambin para identificar cdigo muerto esto es, que nunca llega a
ejecutarse y ver el impacto relativo de su tamao con respecto al de la rutina.

Traza de instrucciones (o de ejecucin)
Permite observar el rastro lineal de la ejecucin de instrucciones por parte del
procesador. Puede resultar til en ciertos casos de depuracin en los que interesa
analizar un registro de qu es lo que ha hecho el procesador en cierto intervalo de
tiempo. No obstante, es bastante farragoso de seguir si la traza de ejecucin tiene
una gran extensin. Con la prctica se llega a saber acotar razonablemente los
intervalos temporales para los que se activa la traza de ejecucin.


Opciones de
Abrir/cerrar
ventanas de
observacin
Opciones de
Abrir/cerrar
ventana de
memoria
Opciones de
ventanas de
puertos serie
Opciones de
Abrir/cerrar
ventana de
anlisis lgico
Mostrar/Habilitar
registro de
ejecucin
Fig. 6.5: Opciones en los iconos desplegables
Fig. 6.6: Opciones en traza de instruccin
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

51
6.3. Control de la ejecucin: paso a paso y ejecucin rpida hasta una lnea

Lo habitual es empezar la depuracin ejecutando paso a paso. Slo se ejecutarn de corrido
aquellas porciones de cdigo ya depuradas o que se presumen funcionalmente correctas.
La manera ms rpida de hacerlo es con el icono de Paso a Paso en la barra de herramientas
o, ms an, con la tecla F11. Sea la que sea la opcin u opciones que se hayan elegido para la
ejecucin controlada del cdigo, cuando se ejecuta una instruccin sta se marca de manera
permanente con un cdigo de color en la ventana de edicin y en la de desensamblado. Como
puede verse en la figura, aparece una marca de color verde a la izquierda de la lnea, antes
de la numeracin de sta; en caso contrario la marca es la gris.











Igualmente, en la lnea con la instruccin a ejecutar a continuacin (es decir, a la que apunta el
contador de programa) aparece una marca en forma de flecha amarilla.

La marca de flecha azul turquesa significa que con el ratn se ha seleccionado esa lnea de
cdigo para hacer algo con ella. Para ello o se pincha la lnea con el botn izquierdo del ratn o
simplemente se apunta y se pulsa el botn derecho para seleccionar en el desplegable la
operacin a realizar. Esto se ilustra en la figura siguiente (en ella el desplegable se encuentra
truncado, existiendo ms opciones de las mostradas).




Marca verde:
Instruccin ejecutada
en alguna ocasin
Marca gris:
Instruccin no
ejecutada
todava
Prxima instruccin a ejecutar
Fig. 6.7: Marcas de control en las ventanas de edicin y desensamblado
Fig. 6.8: Marca de lnea seleccionada en las ventanas de edicin y desensamblado
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

52
Para Ejecutar Hasta antes hay que marcar la instruccin a la que se quiere llegar en la
ejecucin. Una manera de hacerlo es pinchndola con el ratn. Esto hace que se marque la
lnea en amarillo. Entonces o se teclea CTRL+F10, o con el botn derecho del ratn se
despliega el men de opciones y se selecciona Run to Cursor line.
Tambin se puede hacer con el icono de tal funcin en la barra de herramientas:





6.4. El trabajo con los puntos de ruptura

Un punto de ruptura es una marca simblica que se coloca sobre una instruccin o un
recurso del sistema (registro interno, registro de un perifrico, posicin de memoria), con el
fin de que el depurador sepa cmo comportarse al ir a simular la ejecucin de esa
instruccin o si al ejecutarse una instruccin se acceda a ese recurso. Tpicamente, se
usan los puntos de ruptura para poder ejecutar a velocidad rpida el cdigo del que se
tiene la certeza de que funciona correctamente y poder entrar en modo paso a paso a
partir del punto en que se tienen dudas del correcto funcionamiento.
Cuando se selecciona la opcin Puntos de Ruptura emerge una ventana en la que se
puede indicar en qu posicin de memoria se pone el punto, si es de cdigo, de datos,
externa o SFR, si el acceso es de lectura, de escritura o ambos; si se le aade un factor
de retardo a la activacin, etctera.

Observando la figura que sigue puede intuirse cmo actuar. Si ya hubiese otros puntos de
ruptura, aparecern listados as como sus atributos.
En esta figura pueden observarse cuatro puntos de ruptura:

- Uno en la posicin 1000h de la memoria de programa; se encuentra habilitada.
- Otro en 1003h de la memoria de programa, que tambin est habilitada.
- Otro en la posicin 56h de la RAM interna, efectiva slo cuando se escriba por
sexta vez en esa posicin
- Finalmente, otro en la posicin 07h de la RAM interna (R7 del banco 0),
efectiva slo cuando se lea por cuarta vez (es decir, cuando R7 del banco 0 se
use por cuarta vez)
Fig. 6.9: Seleccin de opcin de ejecutar hasta, en el desplegable
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

53
Como se ve, existe una gran flexibilidad a la hora de definir un punto de ruptura.







Como puede verse, es posible poner puntos de ruptura sobre un rango de posiciones
consecutivas. Esto es un mtodo ms cmodo comparado con poner puntos individuales
sobre cada posicin del rango (en el ejemplo slo las hay sobre direcciones individuales).

6.4.1. Cmo poner/quitar rpidamente una ruptura

Una manera rpida de poner o quitar un punto de ruptura es con una doble
pulsacin del ratn sobre la instruccin en la que se quiere poner o quitar la
ruptura. Esto se har en cualquier punto de la lnea en la ventana de desensamblado, o
en el campo izquierdo (sombreado) de la lnea en la ventana de edicin.

6.4.2. Codificacin por colores de las rupturas

Al poner puntos de ruptura, en las ventanas de edicin y de desensamblado se fijan unas
marcas de colores que indican tal eventualidad. Una marca en rojo indica un punto de
ruptura en la instruccin de esa lnea. Si el punto de ruptura se hubiese inhibido
temporalmente, entonces aparecer la marca en color blanco. Esto puede apreciarse en la
siguiente figura:


Aqu se teclea la expresin de
la posicin sobre la que se
pone el punto de ruptura:
D:7 en el ejemplo
Aade ruptura expresada
Tipo de acceso a
tener en cuenta
Rango sobre el que
se pone la ruptura
Habilitada (pinchar
aqu para inhibirla)
Permite quitar la ruptura
seleccionada en la lista
(pinchada con el ratn)
Permite quitar todos los
puntos de ruptura
Retardo a la
activacin
En ejecucin
en acceso
Rango (length) a partir de la direccin inicial (07h)
Orden opcional a
ejecutar por Keil al
activarse la ruptura
Ruptura inhibida
Ruptura habilitada
Fig. 6.10: Ventana de puntos de ruptura
Fig. 6.11: Codificacin por colores de las rupturas
N de orden en la lista
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

54
6.5 Atajos mediante el teclado.
Como se ha visto, muchos de los procesos de depuracin se pueden llevar a cabo de
manera ms rpida actuando sobre los iconos en la barra de herramientas. No obstante,
en algunos casos es todava ms rpido usar las teclas de funcin. Entre otras:

Ejecutar: F5
Paso a paso: F11
Paso largo: F10
Ejecutar hasta retornar: CTRL+F11
Ejecutar hasta: CTRL+F10

Gestionar los puntos de ruptura: CTRL+B
Poner / quitar punto de ruptura: F9
Habilitar / Inhibir rupturas: CRTL+F9
Quitar todas las rupturas: CTRL+Mays+F9




7. FINALIZACIN DEL TRABAJO

Al finalizar la depuracin, seleccinese Start/Stop Debug Session (en este caso, se cierra la
sesin de depuracin).

Al finalizar una sesin de trabajo con un proyecto, seleccionar Project Close Project.

No se puede cerrar un proyecto sin salir del modo depuracin, salvo que se cierre el entorno
Vision.

Cuando ms adelante se vuelva a abrir el proyecto, el entorno lo har en las mismas
condiciones en que se cerr.




8. AYUDA EN LNEA

En la barra de men existe una ayuda en lnea que puede consultarse para profundizar o ver
con mayor detalle los aspectos de manejo de Keil uVision 4.








Fig. 8.1: Desplegable con opciones de ayuda
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

55
APNDICE 1




PASOS PARA CREAR UN PROYECTO, EDITAR EL CDIGO FUENTE Y DEPURARLO

1) Crear el proyecto: Si ya est creado, abrirlo:

Project New Project Project Open Project

El proyecto se ubicar en la carpeta oportuna (crese sta si fuese necesario)






2) Definir las opciones del proyecto, si no se ha hecho antes:

Target 1 Options for Target (con botn secundario del ratn sobre Target 1)

En la pestaa Target: definir la frecuencia de trabajo (XTAL (MHz)
marcar Use On-chip ROM

En la pestaa Output: marcar Create HEX file (si se va a programar la FLASH)


3) Crear fichero fuente y aadirlo al proyecto

BARRA DE MEN
BARRA DE
HERRAMIENTAS
ATAJO CON
TECLADO
File New Ctrl+N

Al guardarlo, dsele el nombre oportuno y ubquese en la carpeta adecuada; ser la del
proyecto normalmente



4) Editar el cdigo fuente y guardar el fichero
Si no est abierto el fichero, abrirlo con:

BARRA DE MEN
BARRA DE
HERRAMIENTAS
ATAJO CON
TECLADO
File Open Ctrl+O


Ubicar el cursor en la ventan de edicin, y escribir. Para guardar o cambiar su nombre:

BARRA DE MEN
BARRA DE
HERRAMIENTAS
ATAJO CON
TECLADO
File Save Ctrl+S
File Save as
-------
--------


5 Construir la aplicacin: ensamblar y montar

BARRA DE MEN
BARRA DE
HERRAMIENTAS
ATAJO CON
TECLADO
Project Build target F7
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

56
6) Si hay errores, iterar pasos 4 y 5. Si no los hay, pasar al modo depuracin









7) Configurar el entorno conforme a las necesidades de depuracin

Cerrar ventanas innecesaria
Abrir ventanas necesarias
Reformatear y redimensionar las ventanas segn se desee
Definir y dotar de contenido las ventanas de memoria, de observacin, etctera


8) Comenzar la depuracin

Utilizar, segn vaya conviniendo, las funciones de:

FUNCIN BARRA DE MEN
BARRA DE
HERRAMIENTAS
ATAJO CON
TECLADO
Ejecucin Debug Run F5
Paso a paso Debug Step

F11
Paso largo Debug Step Over

F10
Ejecutar hasta Debug Run to cursor line

Ctrl+F10
Ejecutar hasta
retornar
Debug Step Out

Ctrl+F11
Puntos de
ruptura
Debug Breakpoints
-------
Ctrl+B
Poner / Quitar
ruptura
Debug Insert/Remove Break.

F9
Habili. / Inhibir
ruptura
Debug Enable/Disable Break.

Ctrl+F9
Inhibir todas
las rupturas
Debug Disable All Breakpts.

--------
Eliminar todas
las rupturas
Debug Kill All Breakpoints

Ctrl+Mays+F9


9) Si hay errores funcionales, iterar pasos 4, 5, 6, (7) y 8.

10) Salir del modo depuracin y cerrar el proyecto
BARRA DE MEN
BARRA DE
HERRAMIENTAS
ATAJO CON
TECLADO
Project Start/Stop Debug Session Ctrl+F5
Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

57
ANOTACIONES:

















































Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

58
ANOTACIONES:

















































Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

59
ANOTACIONES:

















































Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

60
ANOTACIONES:

















































Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

61
NDICE DE FIGURAS



0 PREFACIO
Fig. 0.1: Componentes del sistema Vision de Keil.. 7

1 ASPECTO DE LA APLICACIN
Fig. 1.1: Aspecto inicial de la aplicacin. 9
Fig. 1.2: La barra de men y la de herramientas.. 9
Fig. 1.3: Smbolos de control de una ventana.. 10
Fig. 1.4: Opciones de posicin 10
Fig. 1.5: Documentos con pestaa. 10
Fig. 1.6: Ventana auto-ocultable. 10
Fig. 1.7: a) Ventana auto-ocultable a punto de reaparecer b) ventana reaparecida. 11
Fig. 1.8: Apertura de la ventan de proyecto a) por barra de men b) herramientas. 11
Fig. 1.9: Redistribucin de ventanas mediante arrastre.. 12
Fig. 1.10: Efecto del arrastre de una ventana del entorno: marcado de ubicacin.13
Fig. 1.11: Resultado de reubicacin a la izquierda del entorno. 14
Fig. 1.12: Reubicacin en la parte superior del entorno. 14
Fig. 1.13: Reubicacin en la parte derecha del entorno. 14
Fig. 1.14: Reubicacin en la parte inferior del entorno 15
Fig. 1.15: Reubicacin a la izquierda de de la zona de gestin del proyecto. 15
Fig. 1.16: Reubicacin encima de la zona de gestin del proyecto.. 15
Fig. 1.17: Reubicacin a la derecha de de la zona de gestin del proyecto 15
Fig. 1.18: Traslado de la pestaa de proyecto a la zona de trabajo. 16
Fig. 1.19: Traslado de todas las pestaas en la zona de proyecto a la zona de trabajo... 16

2 CREACIN DE UN PROYECTO
Fig. 2.1: Apertura de nuevo proyecto. 17
Fig. 2.2: Ventana para dar nombre y ubicar el proyecto. 18
Fig. 2.3: Ventana para seleccionar el fabricante del dispositivo 18
Fig. 2.4: Ventana para seleccionar el modelo de microcontrolador.. 19
Fig. 2.5: Ventana para incluir o no una plantilla al proyecto.. 19
Fig. 2.6: Ventana con las opciones de depuracin.. 20

3 EDICIN DEL CDIGO FUENTE
Fig. 3.1: a) Creacin de un fichero va barra de men b) dem va barra de herramientas. 20
Fig. 3.2: Modos de abrir un proyecto a) Va barra men b) dem barra herramientas. 21
Fig. 3.3: Asociacin de un fichero a un proyecto. 21
Fig. 3.4: Asociacin de un fichero a un proyecto (2) 22
Fig. 3.5: Resultado de la asociacin.. 22
Fig. 3.6: Apertura de un mdulo fuente a) va men local b) va barra de herramientas... 22
Fig. 3.7: Ventana de edicin lista para ser usada 23

4 CONSTRUCCIN DEL FICHERO EJECUTABLE FINAL
Fig. 4.1: Construccin de la aplicacin final a) va men local b) va barra herramientas 23
Fig. 4.2: Seleccin de las opciones de salida a) en men emergente b) en herramientas... 24
Fig. 4.3: Pestaa con las opciones de salida de un proyecto.... 25
Fig. 4.4: Pestaa para la definicin del sistema microcontrolador 25
Fig. 4.5: Iconos de construccin, reconstruccin y ensamblado/compilado 26
Fig. 4.6: Mensajes en la ventana de salida sobre el proceso de construccin... 26
Fig. 4.7: Gestin de los errores desde la ventana de salida del proceso de construccin 27
Fig. 4.8: Opciones de compilacin a) va barra de men b) va ventana de proyecto.. 28
Fig. 4.9: Opciones de compilacin: propiedades. 29
Fig. 4.10: Opciones de compilacin: nivel y nfasis de optimizacin 29
Fig. 4.11: Opciones del nivel de optimizacin.. 30
Fig. 4.12: Opciones de nfasis de optimizacin... 30

Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

62
5 DEPURACIN DEL CDIGO I: EL ENTORNO Y SU CONFIGURACIN
Fig. 5.1: Inicio del modo depurador a) en barra de men b) en barra de herramientas 30
Fig. 5.2: Advertencia de limitacin de tamao para la versin demo 31
Fig. 5.3: Aspecto del entorno en modo depuracin. 31
Fig. 5.4: Zonas del entorno en modo depuracin. 32
Fig. 5.5: Ventana de registros. 33
Fig. 5.6: Ventana de edicin 33
Fig. 5.7: Ventana de desensamblado 34
Fig. 5.8: a) Ventana emergente en la de edicin b) dem en la de desensamblado.. 34
Fig. 5.9: Ventana de desensamblado en modo ensamblador 35
Fig. 5.10: Ventana de desensamblado en modo mixto.. 35
Fig. 5.11: Zona de anlisis.. 36
Fig. 5.12: Ventana de rdenes 36
Fig. 5.13: Seleccin de las ventanas a abrir, va opcin en la barra de men 37
Fig. 5.14: Seleccin de las ventanas a abrir, va barra de herramientas. 38
Fig. 5.15: a) Apertura de ventanas de perifricos b) Opciones de puertos c) de temporiz.. 38
Fig. 5.16: Aspecto de diferentes ventanas de perifricos... 39
Fig. 5.17: Redimensionado actuando sobre las fronteras entre zonas acopladas. 40
Fig. 5.18: Ventanas de memoria. 41
Fig. 5.19: Opciones de las ventana de observacin 42
Fig. 5.20: Aspecto de una ventana de observacin. 42
Fig. 5.21: Aadido de elementos a una ventana de observacin.. 43
Fig. 5.22: Opciones de sistema de representacin de un valor de observacin. 43
Fig. 5.23: Introduccin de valores en una ventana de memoria 44
Fig. 5.24: Opciones de formato de visualizacin de valores.. 44
Fig. 5.25: Opciones de formato de visualizacin de valores de 16 bits 45
Fig. 5.26: Ventana de introduccin de valores numricos.. 45
Fig. 5.27: Resultado de la introduccin.. 45
Fig. 5.28: Ejemplo de introduccin de una serie de cuatro valores.. 46
Fig. 5.29: Iconos de congelacin del refresco de una ventana de memoria 46

6 DEPURACIN DEL CDIGO II: COMANDOS PARA LA DEPURACIN
Fig. 6.1: Opciones de depuracin... 48
Fig. 6.2: Iconos de depuracin en la barra de herramientas.. 49
Fig. 6.3: Iconos para trabajar con puntos de ruptura... 49
Fig. 6.4: Iconos de control de la ejecucin y anlisis de recursos 49
Fig. 6.5: Opciones en los iconos desplegables 50
Fig. 6.6: Opciones en traza de ejecucin.. 50
Fig. 6.7: Marcas de control en las ventanas de edicin y de desensamblado 51
Fig. 6.8: Marca de lnea seleccionada en las ventanas de edicin y desensamblado.... 51
Fig. 6.9: Seleccin de opcin ejecutar hasta, en el desplegable.. 52
Fig. 6.10: Ventana de puntos de ruptura... 53
Fig. 6.11: Codificacin por colores de las rupturas.. 53

7 FINALIZACIN DEL TRABAJO
No hay figuras

8 AYUDA EN LNEA
Fig. 8.1: Desplegable con opciones de ayuda.. 54

APNDICE 1
No hay figuras







Tutorial-Prontuario de Keil Vision 4
Antonio Moreno Fdez.-Caparrs. Depto. Arquitectura de Computadores. UCO. Marzo 2010

63










































HISTORIAL DE REVISIONES

NOMBRE VERSIN FECHA DESCRIPCIN
P_KuV4_v0.0 0.0 8/3/2010 Versin inicial
P_KuV4_v1.0 1.0 11/3/2010 Correccin de erratas y mejora de edicin. Mejora de algunas
figuras. Insercin de pies en las figuras. Aadido de apndice 1,
como resumen de pasos. Aadido de ndice de figuras.

REA DE ARQUITECTURA Y TECNOLOGA DE COMPUTADORES
UNIVERSIDAD DE CRDOBA
(ESPAA)

You might also like