Microcontroladores PIC en Linux.
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

'SDCCmacro.c' line number '138'

Ir abajo

'SDCCmacro.c' line number '138' Empty 'SDCCmacro.c' line number '138'

Mensaje por JosePablo Jue 14 Jul 2011 - 8:08

Hola compañer@s.

He estado jugando con el mplabx el cual ahora puede utilizar el toolchain de SDCC y funciona muy bien. Incluso viene integrado con subversion (SVN) de manera muy versátil y útil.

Las pruebas que llebe a cabo me funcionaron muy bien, pero cuando quise portar un programa de CSS a SDCC y se me ocurrio hacer un archivo por funcion (Ya que SDCC si compila múltiples archivos cosa que no hace CSS y los ordené en subdirectorios según yo para mayor orden), me dio un problema a la hora de linkear los archivos .o. A saber el siguiente error:

Código:

make -f nbproject/Makefile-DebugUSB.mk SUBPROJECTS= .build-conf
at 1: error 9: FATAL Compiler Internal Error in file 'SDCCmacro.c' line number '138' : macro expansion too long
Contact Author with source code
at 1: error 9: FATAL Compiler Internal Error in file 'SDCCmacro.c' line number '138' : macro expansion too long
Contact Author with source code
strncpyz prevented buffer overrun!
make[1]: se ingresa al directorio «/home/jose/BERT/sdcc/mplabx-ide/BERT-HID.X»
make  -f nbproject/Makefile-DebugUSB.mk dist/DebugUSB/production/BERT-HID.X.production.hex
make[2]: se ingresa al directorio «/home/jose/BERT/sdcc/mplabx-ide/BERT-HID.X»
mkdir -p dist/DebugUSB/production
/usr/bin/sdcc  -mpic16 -p18f4550 build/DebugUSB/production/src/bert/usb/usb_sendContE.o build/DebugUSB/production/src/bert/repetitivo/repetitivo_usb.o build/DebugUSB/production/src/bert/usb/usb_sendContB.o build/DebugUSB/production/src/usb/report/SetupOutputReport.o build/DebugUSB/production/src/bert/activarTxRx.o build/DebugUSB/production/src/bert/usb/usb_reciveCRX.o build/DebugUSB/production/src/bert/usb/usb_sendTAPX.o build/DebugUSB/production/src/usb/report/SetOutputReport.o build/DebugUSB/production/src/bert/usb/usb_recive_delay.o build/DebugUSB/production/src/usb/report/SetupFeatureReport.o build/DebugUSB/production/src/usb/user/UserInit.o build/DebugUSB/production/src/bert/obtener_datoBE.o build/DebugUSB/production/src/bert/usb/usb_reciveSEEDX.o build/DebugUSB/production/src/debug/init_usart.o build/DebugUSB/production/src/bert/transmision.o build/DebugUSB/production/src/bert/usb/usb_sendLONG_REP.o build/DebugUSB/production/src/bert/bit_clear.o build/DebugUSB/production/src/bert/escribir_reg.o build/DebugUSB/production/src/usb/user/checkEcho.o build/DebugUSB/production/src/bert/bert_defs.o build/DebugUSB/production/src/bert/usb/usb_sendSTATUS.o build/DebugUSB/production/src/bert/usb/usb_sendRDCLK.o build/DebugUSB/production/src/usb/user/ProcessIO.o build/DebugUSB/production/src/usb/usb.o build/DebugUSB/production/src/bert/repetitivo/leer_ram.o build/DebugUSB/production/src/usb/report/GetFeatureReport.o build/DebugUSB/production/src/usb/report/GetInputReport.o build/DebugUSB/production/src/bert/usb/usb_sendTXRXEN.o build/DebugUSB/production/src/bert/limpiar_bert.o build/DebugUSB/production/src/bert/usb/usb_sendCRX.o build/DebugUSB/production/src/bert/concatenar.o build/DebugUSB/production/src/bert/repetitivo/conca_num.o build/DebugUSB/production/src/bert/usb/usb_sendSEEDX.o build/DebugUSB/production/src/bert/programacion_BERT.o build/DebugUSB/production/src/usb/report/SetFeatureReport.o build/DebugUSB/production/src/bert/repetitivo/programar_ram.o build/DebugUSB/production/src/usb/hid_defs.o build/DebugUSB/production/src/bert/usb/usb_sendContBE.o build/DebugUSB/production/src/bert/repetitivo/repetitivo_usb_send.o build/DebugUSB/production/src/bert/usb/usb_reciveTXRXEN.o build/DebugUSB/production/src/main.o build/DebugUSB/production/src/usb/user/USBEcho.o build/DebugUSB/production/src/bert/bit_set.o build/DebugUSB/production/src/bert/limpiar_reg.o build/DebugUSB/production/src/bert/usb/usb_reciveTAPX.o build/DebugUSB/production/src/bert/usb/usb_setup.o build/DebugUSB/production/src/bert/leer_reg.o build/DebugUSB/production/src/bert/usb/usb_status.o build/DebugUSB/production/src/delay/wait.o build/DebugUSB/production/src/usb/user/UserDefs.o build/DebugUSB/production/src/bert/usb/usb_remoto.o  -odist/DebugUSB/production/BERT-HID.X.production.hex "-Wl,-m,-s 18f4550.lkr" libc18f.lib libio18f4550.lib
make[2]: se sale del directorio «/home/jose/BERT/sdcc/mplabx-ide/BERT-HID.X»
make[1]: se sale del directorio «/home/jose/BERT/sdcc/mplabx-ide/BERT-HID.X»
bui: No such file or directory
make[2]: *** [dist/DebugUSB/production/BERT-HID.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 120ms)
Pensé que era el mplab pero cuando ejecuté la línea de comando a pie me dio exactamente el mismo mensaje de error.
PEEEEEEEEERO, después se me ocurrio hacer un Makefile afuera del directorio raíz del proyecto de mplab para copiar los archivos .o en otro directorio y linkearlos con la siguiente línea:

Código:

sdcc  -mpic16 -p18f4550 -"Wl,-m,-s 18f4550.lkr" -omain.hex OBJ/*.o libc18f.lib libio18f4550.lib
Voilá, si funcionó y hasta lo probé en el PIC y funciona sin ningún problema.

Alguién sabe que es ese error del SDCCmacro.c?
Busqué ese archivo entre los archivos del SDCC pero no viene, lo encontré en la copia de trabajo que tengo del proyecto en SVN.

Si alguién tiene alguna idea de como corregír eso para que no tenga que compilar con mplab y linkear por aparte con un Makefile les agradecería muchísimo.

Gracias
JosePablo
JosePablo
Participante
Participante

Mensajes : 22
Fecha de inscripción : 10/01/2009
Edad : 43
Localización : Costa Rica

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.