Hola aqui os presento el compilador SDCC el cual he echo la pet de instalacion para Puppy y que podeis bajaralos de
sdcc-3.4.0-rc2.pet
Bueno para le siguiente ejemplo bajarse tambien el programa Picsimlab que ya hablamos de el en este blog y que es un excelente entreador para Linux y que no lo podemos bajar de :
picsimlab0.5.0.pet
Bueno una vez bajado nos lo instalamos en Puppy y funcionando por que estan probados.
Sdcc es un poco pijotero a la hora de compilarlo
es mejor tener unos programas tipo o plantilla y sobre estos crear los
demas por que ha veces da muchos problemas pero la verdad es que es muy
interesante.
Bueno copiar estas lineas de comando sobre un archivo por ejemplo : ejemplo.c
// ESTE PROGRAMA EN SDCC ES PARA ENCENDER Y APAGAR LED CON RETARDO.
//
// PARA COMPILARLO INTRODUCIR LA SIGUIENTE LINEA DE COMANDO
//
// sdcc -mpic14 --use-non-free -p16f677 --debug -I -c ejemplo.c
//
#include "pic16f877.h"
typedef unsigned int word;
word __at(0x2007) CONFIG = _XT_OSC & _WDT_OFF & _PWRTE_OFF & _BODEN_ON &
_LVP_ON & _CPD_OFF & _WRT_ENABLE_ON & _DEBUG_OFF & _CP_OFF;
void delay_ms(long ms)
{
long i;
while (ms--)
for (i=0; i < 300; i++);
}
void main() {
TRISB1 = 0;
while(1) {
RB1=0;
delay_ms (200);
RB1=1;
delay_ms (200);
}
}
O bien bajarse el archivo prueba ya echo del enlace:
prueba.c
Bueno basicamente lo que hace el programa para
cualquiera que entienda un poco de C y de microcontroladores es encender
y apargar la patita RB1 del microcontrolador.
Una vez echo esto y segun nos informa en la parte de no codigo de texto
del programa para compilarlo escribir la siguiente linea.
# sdcc -mpic14 --use-non-free -p16f677 --debug -I -c ejemplo.c
y si todo va bien que supongo que si que esta probado se nos aparecen los siguiente archivos:
prueba.adb prueba.asm prueba.c prueba.cod prueba.hex prueba.lst prueba.o
prueba.p
En los que en los mas importantes son los archivos prueba.hex para
poder meterselo al microcontrolador osea grabarlo, el asm que seria el
programa escrito en ensamblador, el de extensio .o si queremos utilizar
este programa para compilarlo en otras aplicaciones... etc..
El programa Picsimlab tiene una entrada de menu en principio en :
Menu > Utility > Picsimlab.
Aunque puede variar segun las distribuciones de puppy.
Bueno pues este programa tiene 6 tipos de entrenadores que estan muy bien y la verdad es que este programa esta muy curioso.
Bueno si abrimos el programa vemos que hay un desplegable a la
izquierda que en este caso no tendremos que tocar y que pone Board y es
el entrenador 1 , dejarlo como esta.
Luego abajo la frecuencia que yo la dejo en 4 Mhz que es la que viene por defecto creo.
Bueno los ejemplos los podeis cargar en la barra de herramientas en :
File > Load Hex " o cargar el archivo hex"
Estos archivos estan en el directorio :
/usr/share/picsim/lab/examples
Todos los directorios que empiezan con la letra b1_ corresponden al
entrenador 1 o board 1 y que podeis cargarlos para verlos como
funcionan.
Se trata por supuesto de cargar los archivos con extension *.hex
Bueno yo lo que hago es que en este directorio creo otro directorio :
/EJERCICIOS y de ahi voy colgando las carpetas /EJEMPLO1 /EJEMPLO2 ...etc..
y es precisamente en /EJERCICIOS/EJEMPLO1 donde coloco todos los archivos que se me generaron en el post anterior.
Bueno pues si hacemos estoy y el Picsimlab buscamos este directorio y
cargamos este archivo hex, veremos como se nos apaga y se nos enciende
el Led RB1, tal como lo programamos.
os pongo la imagen del entrenador y el Led.
Una observacion si quereis programar para
trabajar con estos entrenadores es necesario ver sus esquematicos, bueno
pues estos se encuentran dentro del directorio
/usr/share/picsim/lab/doc
Ahi encotramos los de los entranadores 1 , 2 y 3 pero son buena ayuda para los siguientes.
Aqui os dejo el esquema del primer entrenador que trabajamos.
Si alguien hace una prueba, espero comente haber que tal le fue.
Nos vemos un saludo.


No hay comentarios:
Publicar un comentario