Hola amigos!
Comence a escribir una guia sobre este magnifico software, la estoy subiendo
en mi pagina web pero tambien la posteare aqui por que puede resultar de interes. Van a ser unos 30 o 40 capitulos, e ire posteandolos de dos en dos, y en el hilo
este dentro del foro tecnico ire actualizando el indice para poder leer los post sin tener que buscarlos con el buscador.
Los primeros capitulos pueden resultar algo aburridos, pero son necesarios para poder desarrollar los de mas adelante.
Espero los comentarios y preguntas, que me ayudaran a dar forma a los capitulos siguientes. Gracias!
PD: En mi web habra un PDF con la guia completa (los capitulos terminados hasta la fecha actual)
------------------------------------------------------
Entorno de Desarrollo PIC SIMULATOR IDE INTRODUCCIÓN:Este documento es un intento de explicar el funcionamiento de una de las herramientas de desarrollo (a mi entender) mas interesantes para el aficionado a la programación de PICs.
Se trata de un entorno de programación integrado, que además de permitir la creación de programas en lenguaje assembler incorpora un muy completo BASIC, con soporte para dispositivos 1-wire, LCD, RS-232 y muchos mas.
Otro aspecto destacable es la inclusión de una gran cantidad de módulos de E/S que simulan exactamente lo que esta pasando en nuestro programa, incluidos un modulo LCD, teclado, osciloscopio, displays de 7 segmentos entre otros.
Capitulo 01 - La interfaz:Debido a que se trata de un software concebido desde el vamos como un entorno, la integración entre los diferentes módulos que lo componen es completa y sin problemas.
Una vez instalado el programa, el icono que lo representa aparecerá en nuestro escritorio, y haciendo doble clic sobre el se abrirá la pantalla principal del programa, que al menos hasta la versión sobre la que se desarrolla este tutorial (la 5.91) esta en ingles:
Antes de ver en que consiste cada opción del menú principal, vamos a analizar rápidamente cada sección de esta pantalla:
En la parte superior, y justo debajo de la barra de menú tenemos tres cuadros de texto que nos muestran la ruta completa hacia el programa que tenemos cargado en el simulador (Program Location), el microcontrolador que hemos seleccionado para nuestro proyecto (Microcontroller) y la frecuencia de clock elegida (Clock Frequency).
Todos estos valores pueden ser cambiados, como veremos en el segundo capitulo, desde la barra de menu.
El recuadro que esta inmediatamente debajo del anterior nos muestra (cuando estamos corriendo una simulación de nuestro programa) cual es la instrucción assembler en curso (Last Instruction) y cual será la siguiente a ejecutar (Next Instruction):
Luego tenemos un cuadro con información relativa a la ejecución del programa, en la que vemos instrucción a instrucción durante todo el tiempo en que estemos corriendo la simulación, el valor que va tomando el contador de programa (PC o Program Counter), el registro de trabajo (W Register, por "working") y sobre la derecha la cantidad de instrucciones simuladas (Instructions Counter), la cantidad de ciclos de reloj transcurridos (Clock Cycles Counter) y el tiempo de ejecución que llevaría en realidad dicho programa (Real Time Duration). Cabe aclarar, que como en todo simulador, la relación entre el tiempo real y el tiempo de simulación varia dependiendo de los recursos de nuestro ordenador, y en general los programas simulados demoran mucho mas tiempo que el real en ejecutarse.
A continuación, sobre la izquierda, vemos una lista de desplazamiento que contiene el valor de todos los registros especiales con los que cuenta el microcontrolador elegido. Esta lista varia, por supuesto, con cada microcontrolador, y en el momento de correr la simulación va reflejando instrucción a instrucción el valor de cada timer, puerto, registro de estado, interrupciones, etc. Los valores se muestran en hexadecimal (Hex Value) y en binario (Binary Value). Cada registro se identifica mediante su dirección (Address) y también por el nombre con el que figura en la hoja de datos (Name).
Por ultimo, y a la derecha del cuadro anterior, tenemos el valor de todos los registros de propósito general (GPRs, o general purpose register). La lista tiene dos columnas, cada una indicando la dirección del registro (Addr.) y su valor en hexadecimal (Hex. Value):
Capitulo 02 - El menú principal:La mayoría de las funciones de las que dispone esta herramienta están agrupadas dentro del menú principal de la aplicación. Es de destacar que todos los módulos que se pueden invocar desde aquí se abren en ventanas separadas, y pueden ser configuradas (como veremos) para que se sitúen permanentemente delante de las demás ventanas, de manera que no las perdamos de vista. Este es el menú principal:
Como es costumbre en toda aplicación de windows, la opción File es la primera del menú. Contiene solo dos comandos: Clear Memory (Limpiar memoria) que se encarga de eliminar de la memoria del simulador el programa que estuviese cargado, que puede ser invocada mediante las teclas CTRL+R; y Load Program (Cargar Programa), que nos lleva a un cuadro de dialogo típico que nos permite seleccionar el archivo HEX que queremos simular. Esta función puede invocarse con CTRL+L.
Dentro de la segunda opción, Simulation, tenemos tres opciones que se encargan de manejar la simulación en curso: Start, Step y Stop. La primera de ellas arranca la simulación, la segunda se encarga de avanzar una instrucción (solo esta habilitada cuando en Rate hemos seleccionado el modo paso a paso) y la tercera detiene la simulación. Es muy practico utilizar F1, F2 y F3 para invocar estas opciones.
Rate es el submenú que determina el modo de ejecución de la simulación, brindando 6 posibilidades:
Estas son: Step By Step (paso a paso), Slow (Lenta), Normal (Normal), Fast (Rápida), Extremely Fast (muy rápida) y Ultimate (No Refresh) que es la mas rápida de todas, pero que no actualiza la pantalla principal del simulador. Esta opción resulta muy útil para "adelantar" partes del programa que sabemos que no tienen problemas. Todas pueden ser invocadas con CTRL+F1 a CTRL+F6, tal como se ve en la figura anterior.
Tools es el submenú encargado de invocar a cada uno de los módulos que integran el simulador, y que veremos en detalle en capítulos siguientes. Tal como se ve en la figura, la mayoría de ellos se pueden activar mediante la combinación de la tecla CTRL y alguna mas.
Desde Options (Opciones) tenemos acceso a un conjunto de alternativas de configuración. Dedicaremos bastante espacio a cada una de ellas en los capítulos correspondientes, pero podemos adelantar que las mas importantes y que debemos revisar en cada proyecto son Select Microcontroler (seleccionar microcontrolador) que nos permite elegir el modelo concreto de PIC a utilizar; Change Clock Frecuency (cambiar frecuencia de clock) y Configuration Bits (bits de configuración) desde la que se puede elegir la función de algunos pines (Reset o I/O, etc), el tipo de oscilador a usar, etc. La ultima opción de este submenú permite cambiar los colores de la interfaz (Change Color Theme).
Fin capitulo 2.