Libreria para PIC
3 participantes
Página 1 de 1.
Libreria para PIC
Hola.
Al crear un fichero .asm a partir del .bas no tengo problemas.
Al querer crear el .hex a partir del .asm, no me va tan bien. GCB busca el fichero del micro, con extensión .inc :
# include
.... pero no lo encuentra ...
Finding source files:
/home/maesstrissimo/Electronica/Programas Pics/Hola Mundo.asm: found
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include//P16F628A.inc: NOT FOUND!
AL final de intentar compilar dice :
Loading source files ... 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95%
Reading compiler directives ...
An error has been found:
Error: Chip model not specified! GCBASIC cannot continue
Dónde puedo encontrar el .inc del micro que uso ?
o dónde hay un modelo que pueda usar para crearme uno ?
Gracias por vuestra respuesta.
Un saludo.
Al crear un fichero .asm a partir del .bas no tengo problemas.
Al querer crear el .hex a partir del .asm, no me va tan bien. GCB busca el fichero del micro, con extensión .inc :
# include
.... pero no lo encuentra ...
Finding source files:
/home/maesstrissimo/Electronica/Programas Pics/Hola Mundo.asm: found
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include//P16F628A.inc: NOT FOUND!
AL final de intentar compilar dice :
Loading source files ... 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95%
Reading compiler directives ...
An error has been found:
Error: Chip model not specified! GCBASIC cannot continue
Dónde puedo encontrar el .inc del micro que uso ?
o dónde hay un modelo que pueda usar para crearme uno ?
Gracias por vuestra respuesta.
Un saludo.
a16er70- Participante
- Mensajes : 20
Fecha de inscripción : 12/12/2010
Localización : España - Boecillo
Re: Libreria para PIC
Hola..
una consulta puedes poner el codigo del proyecto que intentas compilar, lo que se yo que gcbasic soporta pic16f628.
Saludos
RiSanti
una consulta puedes poner el codigo del proyecto que intentas compilar, lo que se yo que gcbasic soporta pic16f628.
- Código:
#chip 16F628A, 20 'modelo de pic y velocidad de reloj: 20 Mhz
Saludos
RiSanti
Re: Libreria para PIC
Hola a16er70
Lo deberías tener en: /home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/
Pero hay una cosa en la dirección que busca: ...../include//P16F628A.inc fíjate que hay dos barras... no sé si será por esto.
Saludos.
EDITO:
Comprueba que tienes el directorio .../include con los archivos porque hay un update del GcBasic que viene sin estos archivos, sólo es para actualizar los últimos cambios si ya tenías una versión anterior instalada.
También sería bueno saber que versión te instalaste y eso.
Dónde puedo encontrar el .inc del micro que uso ?
Lo deberías tener en: /home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/
Pero hay una cosa en la dirección que busca: ...../include//P16F628A.inc fíjate que hay dos barras... no sé si será por esto.
Saludos.
EDITO:
Comprueba que tienes el directorio .../include con los archivos porque hay un update del GcBasic que viene sin estos archivos, sólo es para actualizar los últimos cambios si ya tenías una versión anterior instalada.
También sería bueno saber que versión te instalaste y eso.
ESto es lo que me pasa
Hola.
Como tengo 3 minutos cada 3 semanas para mirar esto, ya no recordaba que el gcb genera el .asm y el .hex de un tirón.
Tenía un .asm generado de otro día, y estaba intentando generar el .hex a partir de ahí.
Lo que ocurre esto :
* Cuando compilo un .bas, genera el .asm, el .hex y un .lst. En el proceso, el los datos del pic utilizado se emplean al final del proceso, a partir de un fichero "nombredelpic".dat. Algo así :
Ejecutando herramienta: Compilar Archivos gcBasic_4_pics
Great Cow BASIC (0.9 10/9/2010)
Compilando /home/maesstrissimo/Electronica/Programas Pics/Hola Mundo_3.bas ...
Buscando archivos fuente:
/home/maesstrissimo/Electronica/Programas Pics/Hola Mundo_3.bas: encontrado
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/a-d.h: encontrado
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/pwm.h: encontrado
.... ( aqui hay más pero no pongo todos .... )
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/hwi2c.h: encontrado
Cargando Archivos fuente ... 5% 11% 16% 21% 26% 32% 37% 42% 47% 53% 58% 63% 68% 74% 79% 84% 89% 95% 100%
Leyendo directivas del compilador ...
Leeyendo data de chip ...
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/chipdata/16f628a.dat
Fijar valores del Chip:
Modelo del Chip: 16F628A
Chip Family: PIC (14)
Clock MHz: 20
RAM: 224
Corriendo el guion del compilador ...
Y luego sigue compilando, parece que generando el .hex
Armando mapa de memoria ...
Encontrando y compilando directivas #IFDEF ...
Reemplazando definiciones con valores ... 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20% 21% ...... ( etc, etc )
Program assembled successfully!
Hecho.
* Pero si intento compilar el .asm, que aparentemente el gcb también podría ( en algunos casos puede ser interesante ), pues el compilador intenta "ejecutar" el include del "picname".inc , que no tiene.
Ejecutando herramienta: Compilar Archivos gcBasic_4_pics
Great Cow BASIC (0.9 10/9/2010)
Compilando /home/maesstrissimo/Electronica/Programas Pics/Hola Mundo_3.asm ...
Buscando archivos fuente:
/home/maesstrissimo/Electronica/Programas Pics/Hola Mundo_3.asm: encontrado
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include//P16F628A.inc: NO ENCONTRADO!
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/a-d.h: encontrado
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/pwm.h: encontrado
( ..... )
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/hwi2c.h: encontrado
Cargando Archivos fuente ... 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95%
Leyendo directivas del compilador ...
Un error ha sido encontrado:
Error: Chip model not specified! GCBASIC cannot continue
El mensaje ha sido registrado en el archivo Errors.txt.
Esté claro que el "path" con la doble barra es la fuente del problema
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include//P16F628A.inc: NO ENCONTRADO!
Y esto es lo que me ocurre. No es muy grave porque desde el .bas sale todo bien.
Un saludo. Y graqcias por el interés de ayudarme.
a16er70
Como tengo 3 minutos cada 3 semanas para mirar esto, ya no recordaba que el gcb genera el .asm y el .hex de un tirón.
Tenía un .asm generado de otro día, y estaba intentando generar el .hex a partir de ahí.
Lo que ocurre esto :
* Cuando compilo un .bas, genera el .asm, el .hex y un .lst. En el proceso, el los datos del pic utilizado se emplean al final del proceso, a partir de un fichero "nombredelpic".dat. Algo así :
Ejecutando herramienta: Compilar Archivos gcBasic_4_pics
Great Cow BASIC (0.9 10/9/2010)
Compilando /home/maesstrissimo/Electronica/Programas Pics/Hola Mundo_3.bas ...
Buscando archivos fuente:
/home/maesstrissimo/Electronica/Programas Pics/Hola Mundo_3.bas: encontrado
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/a-d.h: encontrado
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/pwm.h: encontrado
.... ( aqui hay más pero no pongo todos .... )
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/hwi2c.h: encontrado
Cargando Archivos fuente ... 5% 11% 16% 21% 26% 32% 37% 42% 47% 53% 58% 63% 68% 74% 79% 84% 89% 95% 100%
Leyendo directivas del compilador ...
Leeyendo data de chip ...
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/chipdata/16f628a.dat
Fijar valores del Chip:
Modelo del Chip: 16F628A
Chip Family: PIC (14)
Clock MHz: 20
RAM: 224
Corriendo el guion del compilador ...
Y luego sigue compilando, parece que generando el .hex
Armando mapa de memoria ...
Encontrando y compilando directivas #IFDEF ...
Reemplazando definiciones con valores ... 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20% 21% ...... ( etc, etc )
Program assembled successfully!
Hecho.
* Pero si intento compilar el .asm, que aparentemente el gcb también podría ( en algunos casos puede ser interesante ), pues el compilador intenta "ejecutar" el include del "picname".inc , que no tiene.
Ejecutando herramienta: Compilar Archivos gcBasic_4_pics
Great Cow BASIC (0.9 10/9/2010)
Compilando /home/maesstrissimo/Electronica/Programas Pics/Hola Mundo_3.asm ...
Buscando archivos fuente:
/home/maesstrissimo/Electronica/Programas Pics/Hola Mundo_3.asm: encontrado
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include//P16F628A.inc: NO ENCONTRADO!
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/a-d.h: encontrado
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/pwm.h: encontrado
( ..... )
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include/lowlevel/hwi2c.h: encontrado
Cargando Archivos fuente ... 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95%
Leyendo directivas del compilador ...
Un error ha sido encontrado:
Error: Chip model not specified! GCBASIC cannot continue
El mensaje ha sido registrado en el archivo Errors.txt.
Esté claro que el "path" con la doble barra es la fuente del problema
/home/maesstrissimo/Soft_Descargado/GCBASIC_zip_0930/include//P16F628A.inc: NO ENCONTRADO!
Y esto es lo que me ocurre. No es muy grave porque desde el .bas sale todo bien.
Un saludo. Y graqcias por el interés de ayudarme.
a16er70
a16er70- Participante
- Mensajes : 20
Fecha de inscripción : 12/12/2010
Localización : España - Boecillo
Re: Libreria para PIC
Ya te voy entendiendo.
De todas formas no puedes pasar un .asm puro al GcBasic, no sólo por el archivo no encontrado sino por otras cosas, por ejemplo:
Error: Chip model not specified! GCBASIC cannot continue
De hecho el archivo no encontrado no ha detenido la compilación, solo ha informado de ello; el error que ha parado la compilación es este.
GcBasic espera encontrar cierta información, como el modelo del chip y velocidad de reloj, con la sintaxis de GcBasic y espera que los includes sean los necesarios para compilar el programa en basic y por tanto estén en la carpeta correspondiente. Y no espera encontrar un include que solo es necesario para ensamblar y no para compilar el programa basic.
Creo que tampoco te reconoce cosas como el _CONFIG, ORG, LIST y otras directivas, que no son instrucciones asm.
Podrías crear un archivo que contenga sólo la parte de instrucciones en asm ( no directivas para el ensamblador), pero indicando chip y velocidad de reloj al estilo GcBasic, o mezclar asm y basic.
Saludos.
De todas formas no puedes pasar un .asm puro al GcBasic, no sólo por el archivo no encontrado sino por otras cosas, por ejemplo:
Error: Chip model not specified! GCBASIC cannot continue
De hecho el archivo no encontrado no ha detenido la compilación, solo ha informado de ello; el error que ha parado la compilación es este.
GcBasic espera encontrar cierta información, como el modelo del chip y velocidad de reloj, con la sintaxis de GcBasic y espera que los includes sean los necesarios para compilar el programa en basic y por tanto estén en la carpeta correspondiente. Y no espera encontrar un include que solo es necesario para ensamblar y no para compilar el programa basic.
Creo que tampoco te reconoce cosas como el _CONFIG, ORG, LIST y otras directivas, que no son instrucciones asm.
Podrías crear un archivo que contenga sólo la parte de instrucciones en asm ( no directivas para el ensamblador), pero indicando chip y velocidad de reloj al estilo GcBasic, o mezclar asm y basic.
Saludos.
Mas info
HOla Pikitin.
Pero es que el modelo de chip, sí está especificado en el .asm que genera GCB :
;Program compiled by Great Cow BASIC (0.9 10/9/2010)
;Need help? See the GCBASIC forums at http://sourceforge.net/forum/?group_id=169286,
;check the documentation or email w_cholmondeley@users.sourceforge.net.
;********************************************************************************
;Set up the assembler options (Chip type, clock source, other bits and pieces)
LIST p=16F628A, r=DEC
#include
__CONFIG _HS_OSC & _MCLRE_OFF & _LVP_OFF & _WDT_OFF
;********************************************************************************
UN saludo.
a16e70
Pero es que el modelo de chip, sí está especificado en el .asm que genera GCB :
;Program compiled by Great Cow BASIC (0.9 10/9/2010)
;Need help? See the GCBASIC forums at http://sourceforge.net/forum/?group_id=169286,
;check the documentation or email w_cholmondeley@users.sourceforge.net.
;********************************************************************************
;Set up the assembler options (Chip type, clock source, other bits and pieces)
LIST p=16F628A, r=DEC
#include
__CONFIG _HS_OSC & _MCLRE_OFF & _LVP_OFF & _WDT_OFF
;********************************************************************************
UN saludo.
a16e70
a16er70- Participante
- Mensajes : 20
Fecha de inscripción : 12/12/2010
Localización : España - Boecillo
Re: Libreria para PIC
Si.. pero como una directiva asm, no en sintaxis GcBasic.
Eso para GcBasic no significa nada, ya te lo dice el error:
Error: Chip model not specified! GCBASIC cannot continue
Saludos.
Eso para GcBasic no significa nada, ya te lo dice el error:
Error: Chip model not specified! GCBASIC cannot continue
Saludos.
SIn intencion de ser pesado.
Hola Pitikin ( para que yo me entere, que de esto no tengo ni PI ).
Por cierto, ante todo gracias por querer echarme una mano.
GCB es capaz de crear, a partir de un .bas --> un .asm y un .hex. de una tacada ( si me permites la expresion ).
Entiendo ( igual ahí está mi error ) que el .hex lo crea a partir del propio .asm que él ha generado.
Lo que no entiendo es que cuando le pides que compile desde el .bas, llega al .hex sin problemas, y cuando le pides que compile desde el .asm que él mismo ha generado, se queda pillado porque no es capaz de incluir la info del pic a partir del include que él ha escrito en el .asm
En fin, dudas existencales. Lo importante es que llego al .hex desde el .bas, que es lo que necesito.
Ahora tengo otra pelea planteada, te la cuento en el tema del Pikalb.
Un saludo.
a16er70
Y repito : gracias.
Por cierto, ante todo gracias por querer echarme una mano.
GCB es capaz de crear, a partir de un .bas --> un .asm y un .hex. de una tacada ( si me permites la expresion ).
Entiendo ( igual ahí está mi error ) que el .hex lo crea a partir del propio .asm que él ha generado.
Lo que no entiendo es que cuando le pides que compile desde el .bas, llega al .hex sin problemas, y cuando le pides que compile desde el .asm que él mismo ha generado, se queda pillado porque no es capaz de incluir la info del pic a partir del include que él ha escrito en el .asm
En fin, dudas existencales. Lo importante es que llego al .hex desde el .bas, que es lo que necesito.
Ahora tengo otra pelea planteada, te la cuento en el tema del Pikalb.
Un saludo.
a16er70
Y repito : gracias.
a16er70- Participante
- Mensajes : 20
Fecha de inscripción : 12/12/2010
Localización : España - Boecillo
Re: Libreria para PIC
Que tal a16er70 ?
El tema es que el GcBasic te genera el asm y luego llama a otro programa que genera el hex a partir del asm, le llamo ensamblador, pero no sé si es correcto del todo, pero es otro programa; GcBasic sólo "lee" basic y lo "traduce" a asm.
El caso es que GcBasic si se encuentra cosas en asm simplemente las pasa ( aunque no todas ) al .asm de salida, porque digamos ya están traducidas, pero no "entiende" la sitaxis asm.
Entonces para GcBasic esto no significa nada porque no está en sintaxis GcBasic:
LIST p=16F628A, r=DEC
El nombre del chip lo busca después de la palabra clave: #chip , así que espera encontrar algo de esto:
#chip 16F84, 4
Si no está eso dá el error y detiene la compilación.
Si quieres obtener el .hex a partir de un .asm, tienes que pasárselo directo al ensamblador, por ejemplo Gpasm de Gputils.
Podrías hacerlo por linea de comandos o por ejemplo por Piklab si eliges Gpasm como herramienta de compilación, por ahí por el menú de preferencias o algo así.
Creo que más o menos se entiende...
Saludos.
El tema es que el GcBasic te genera el asm y luego llama a otro programa que genera el hex a partir del asm, le llamo ensamblador, pero no sé si es correcto del todo, pero es otro programa; GcBasic sólo "lee" basic y lo "traduce" a asm.
El caso es que GcBasic si se encuentra cosas en asm simplemente las pasa ( aunque no todas ) al .asm de salida, porque digamos ya están traducidas, pero no "entiende" la sitaxis asm.
Entonces para GcBasic esto no significa nada porque no está en sintaxis GcBasic:
LIST p=16F628A, r=DEC
El nombre del chip lo busca después de la palabra clave: #chip , así que espera encontrar algo de esto:
#chip 16F84, 4
Si no está eso dá el error y detiene la compilación.
Si quieres obtener el .hex a partir de un .asm, tienes que pasárselo directo al ensamblador, por ejemplo Gpasm de Gputils.
Podrías hacerlo por linea de comandos o por ejemplo por Piklab si eliges Gpasm como herramienta de compilación, por ahí por el menú de preferencias o algo así.
Creo que más o menos se entiende...
Saludos.
Gracias por la info !
Lo dicho, Pikitin, gracias por la información.
Intentaré trastear por ese camino.
Un saludo.
a16er70
Intentaré trastear por ese camino.
Un saludo.
a16er70
a16er70- Participante
- Mensajes : 20
Fecha de inscripción : 12/12/2010
Localización : España - Boecillo
Temas similares
» Librería para multitarea en GCBasic.
» librería ADC para PIC-GCC
» Libreria LCD 4Bit , para Pic16f
» GCBasic: Librería ADC para PIC16F87X
» GCBasic: Librería Comparadores para PIC
» librería ADC para PIC-GCC
» Libreria LCD 4Bit , para Pic16f
» GCBasic: Librería ADC para PIC16F87X
» GCBasic: Librería Comparadores para PIC
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.