_asm TBLRDPOSTINC _endasm,

0

Estoy usando un PIC18f25K80 y un compilador XC8. He incluido los archivos de la biblioteca MDD. Sin embargo, después de compilar, obtengo lo siguiente en el archivo "FSIO.c":

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'H:/SPATIAL/SPATIAL.X/SPATIAL.X'
make  -f nbproject/Makefile-default.mk dist/default/production/SPATIAL.X.production.hex
make[2]: Entering directory 'H:/SPATIAL/SPATIAL.X/SPATIAL.X'
"C:\Program Files (x86)\Microchip\xc8\v1.32\bin\xc8.exe" --pass1  --chip=18F25K80 -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,+config,+clib,+plib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s"    -obuild/default/production/main.p1  main.c 
main.c:217: warning: (350) unused variable definition "pointer2" (from line 200)
main.c:217: warning: (350) unused variable definition "pointer" (from line 197)
"C:\Program Files (x86)\Microchip\xc8\v1.32\bin\xc8.exe" --pass1  --chip=18F25K80 -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=ignore --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,+config,+clib,+plib --output=-mcof,+elf:multilocs --stack=compiled:auto:auto:auto "--errformat=%f:%l: error: (%n) %s" "--warnformat=%f:%l: warning: (%n) %s" "--msgformat=%f:%l: advisory: (%n) %s"    -obuild/default/production/FSIO.p1  FSIO.c 
FSIO.c:197: warning: (335) unknown pragma "udata"
FSIO.c:199: warning: (335) unknown pragma "udata"
FSIO.c:201: warning: (335) unknown pragma "udata"
FSIO.c:7120: warning: (345) unreachable code
FSIO.c:7983: error: (195) expression syntax
FSIO.c:8081: error: (195) expression syntax
FSIO.c:8132: error: (195) expression syntax
FSIO.c:8690: warning: (359) illegal conversion between pointer types
pointer to const unsigned char -> pointer to unsigned char
FSIO.c:9359: warning: (343) implicit return at end of non-void function
FSIO.c:9359: warning: (350) unused variable definition "utf16path2" (from line 8691)
FSIO.c:10311: warning: (359) illegal conversion between pointer types
pointer to const unsigned char -> pointer to unsigned char
FSIO.c:10566: warning: (359) illegal conversion between pointer types
pointer to const unsigned char -> pointer to unsigned char
FSIO.c:11104: warning: (343) implicit return at end of non-void function
(908) exit status = 1
make[2]: *** [build/default/production/FSIO.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
nbproject/Makefile-default.mk:163: recipe for target 'build/default/production/FSIO.p1' failed
make[2]: Leaving directory 'H:/SPATIAL/SPATIAL.X/SPATIAL.X'
nbproject/Makefile-default.mk:75: recipe for target '.build-conf' failed
make[1]: Leaving directory 'H:/SPATIAL/SPATIAL.X/SPATIAL.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed

BUILD FAILED (exit value 2, total time: 5s)

Por alguna razón, no le gusta lo siguiente

_asm TBLRDPOSTINC _endasm 
    
pregunta user2344158

1 respuesta

1

Las convenciones para el ensamblaje en línea en microcontroladores PIC son diferentes según el compilador. Es muy probable que estés trabajando con un código que espera un compilador diferente. Intenta reemplazar esto:

  

_asm TBLRDPOSTINC _endasm

con esto:

  

asm (TBLRDPOSTINC)

    
respondido por el AngryEE

Lea otras preguntas en las etiquetas