TARJETA GPBOT Y LINUX



La tarjeta GPBOT se puede usar desde Linux. Este es el primer año que hemos empezado y algunas cosas las hemos tenido que hacer nosotros, pero ya es usable al 100%. Las opciones que tenemos son:



NOTA: No podemos utilizar los mismos ficheros .asm con el ensamblador de Linux que con el entorno ICS en Windows. Los nemónicos son los mismos, pero cambian las directivas del ensamblador



Puesta en marcha del ensamblador

Primero vamos a ensamblar programas y los grabaremos. Los pasos a seguir son:

  1. Instalamos el compilador de C SDCC. Está disponible para múltiples plataformas, incluyendo Windows. Se puede descargar de esta página. En Debian también está disponible, por lo que se puede instalar haciendo un “apt-get install sdcc sdcc-doc sdcc-libraries”.

  2. El ensamblador para el 68hc08 viene con el paquete del compilador. Se llama as-hc08. Si hemos instalado correctame el SDCC, también tendremos el as-hc08.

  3. Bajamos el fichero modelo.tgz, que contiene la plantilla que utilizaremos para los programas en ensamblador, un ejemplo, y los ficheros con la definición de los registros. También se incluye un Makefile para realizar el ensamblado. Nuestros proyectos los crearemos modificando este Makefile.

  4. Descomprimimos:

$ tar vzxf modelo.tgz

  1. Accedemos al directorio

$ cd modelo

  1. Ensamblamos. Para ello ejecutamos make. Si todo ha ido bien se nos habrá creado el fichero portb-sal.S19, que podemos descargar en la GPBOT.

$ make

as-hc08 -go portb-sal.asm

./link08 portb-sal

rm portb-sal.rel

Con esto ya podemos ensamblar programas. Se puede utilizar un entorno de trabajo como el Anjuta, desde el que se editan los programas. Para hacer el ensamblado más sencillo es recomendable utilizar el Makefile proporcionado.


Descarga de programas en la GPBOT: instalacion del software gpbot-down

Utilizaremos la utilidad gpbot-down, que se encuentra en el paquete gpbot-tools-0.1.tgz. Los pasos para utilizarlos son los siguientes:

    1. Bajar el paquete gpbot-tools-0.1.tgz

    2. Descomprimirlo

$ tar vzxf gpbot-tools-0.1.tgz

    1. Compilar las librerías. Por un lado se han creado las librerías que permiten acceder al modo monitor del 6808. Primero hay que compilarlas:

$ cd gpbot-tools/gpbot-dev/src

$ make

Con esto se nos genera los ficheros .o necesario. También se compila el programa gpbot-dev, que se usa para depurar las librerias de monitorización. Sólo tiene utilidad para desarrolladores.

    1. Compilar el programa gpbot-down:

$ cd ../../gpbot-down

$ make

Si todo ha ido bien, se nos habrá creado el programa gpbot-down, que usaremos para realizar la descarga

    1. Instalación. Sólo hay que copiar el fichero gpbot-down a un directorio que se encuentre en el path. Por ejemplo en el /usr/bin. O si lo preferimos, desde alguno de nuestra cuenta.



Prueba de funcionamiento del GPBOT-DOWN

    1. Conectar la gpbot al puerto serie del PC

    2. Alimentarla

    3. Ir al directorio donde tengamos el fichero .S19 a descargar. Por ejemplo al directorio donde hemos bajado el paquete modelo.tgz

$ cd modelo

    1. Ejecutar:

$ gpbot-down portb-sal.S19

Si todo ha ido bien, aparecerá lo siguiente:

GPBOT-DOWN. (c) Juan Gonzalez. Febrero 2004. Licencia GPL

Grabación de programas en la Flash de la tarjeta GPBOT

Tamaño: 49 bytes

Borrando Flash...OK

Vector de RESET: 8000

Grabando bloque de datos...OK

Vectores de interrupcion...OK

FINALIZADO

-->EJECUTANDO!!!

Por defecto se toma el COM1. Se puede especificar otro puerto de la siguiente manera:

$ gpbot-down portb-sal.S19 -com2



EJEMPLOS EN ENSAMBLADOR PARA LA GPBOT Y LINUX


Fichero Fuente

Fichero ejecutable

Descripción

modelo.tgz

---------

Todo lo necesario para trabajar en ensamblador: ficheros con las definiciones de los registros, mapa de memoria, plantilla modelo y fichero Makefile de ejemplo

modelo.asm

----------

Plantilla modelo para hacer programas en ensamblador

porta-sal.asm

porta-sal.S19

PUERTO A. Ejemplo de configuración del puerto A para salida. Se configuran todos los pines para salida y se envía un valor. Si se conectan leds se puede visualizar el dato.

porta-salent.asm

porta-salent.S19

PUERTO A. Ejemplo de configuración de pines para entrada y salida. Los 4 bits de mayor peso del puerto A se configuran para salida y los 4 de menor peso para entrada

portb-sal.asm

portb-sal.S19

PUERTO B. Ejemplo de configuración del puerto B para salida. Se configuran todos los pines para salida y se envía un valor. Si se conectan leds se puede visualizar el dato.

portb-salent.asm

portb-salent.S19

PUERTO B. Ejemplo de configuración de pines para entrada y salida. Los 4 bits de mayor peso del puerto B se configuran para salida y los 4 de menor peso para entrada

tim-delay.asm

tim-delay.S19

TEMPORIZADOR 1. Ejemplo de cómo realizar una pausa por espera activa (sin interrupciones), utilizando el temporizador 1. Se pueden hacer esperas desde 100ms hasta 25 segundos.

motor-on.asm

motor-on.S19

MOTORES. Ejemplo de activación de los motores 1 y 2. El programa los pone en marcha y se queda en un bucle infinito

motor-sec.asm

motor-sec.S19

MOTORES. Ejemplo para los motores 1 y 2. Se hace que vayan hacia adelante, atrás, derecha, izquierda y finalmente se paran.

sensor1.asm

sensor1.S19

SENSORES. Ejemplo para el sensor IR1. Utilización en modo digital. Se lee el valor devuelto por el sensor IR1 y se saca por el PUERTO B. Si se conectan unos leds se puede ver el estado. Cuando lee negro, devuelve '1' y para el blanco '0'

ad-test1.asm

ad-test1.S19

CONVERSOR A/D. Lectura del canal analógico 0 (PB0). Se saca el valor por el puerto A. Si se conecta una placa con leds se puede ver el valor digital de la muestra.




Juan González Gómez. 2004

Se conceden permisos para copiar, distribuir y modificar la información contenida en esta página siempre y cuando se mantenga esta nota