TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: avatar en 11 de Octubre de 2006, 05:17:34
-
Hola a todos estaba compilando un programa y me ha salido este error que nunca ma habia salido antes:
Error - section '.code_zNVM.o' can not fit the section. Section '.code_zNVM.o' length=0x000002a8
He leido que podria tratarse de un tema de incompatibilidad porque usando el MPLab C18 v3.00 o anteriores, no sera compatible con versiones del MPLink anteriores a la v4.00 y con versiones del MPLab IDE anteriores a la v7.21. Pero yo estoy usando el MPLab v7.42, MCC18 v3.02 y MPLink v4.02 asi que creo yo que no debería haber ningun problema, espero que podais ayudarme. Muchas gracias.
-
Hola a todos estaba compilando un programa y me ha salido este error que nunca ma habia salido antes:
Error - section '.code_zNVM.o' can not fit the section. Section '.code_zNVM.o' length=0x000002a8
He leido que podria tratarse de un tema de incompatibilidad porque usando el MPLab C18 v3.00 o anteriores, no sera compatible con versiones del MPLink anteriores a la v4.00 y con versiones del MPLab IDE anteriores a la v7.21. Pero yo estoy usando el MPLab v7.42, MCC18 v3.02 y MPLink v4.02 asi que creo yo que no debería haber ningun problema, espero que podais ayudarme. Muchas gracias.
Mira, a priori me parece que tienes un problema al momento de hacer el linkeado de las object files.
Prueba hacer CTRL+F10 que borrará todas las object files para hacer una recompilación.
En el linker file, ¿Tu defines section names diferentes o usas uno por defecto?
-
Hola, no se muy bien a lo que te refieres, soy un poco nuevo en todo esto. Aqui te pego el codigo de mi linker file:
CODEPAGE NAME=vectors START=0x000000 END=0x000029 PROTECTED
CODEPAGE NAME=macaddress START=0x00002A END=0x000031 PROTECTED
CODEPAGE NAME=page START=0x000032 END=0x00FD7F
CODEPAGE NAME=debug START=0x00FD80 END=0x00FFFF PROTECTED
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF003FF PROTECTED
ACCESSBANK NAME=accessram START=0x0000 END=0x007F
DATABANK NAME=gpr0 START=0x0080 END=0x00FF
// Reserve memory for the heap.
DATABANK NAME=HEAP START=0x0100 END=0x08FF PROTECTED
// Reserve space for the stack. NOTE - if the stack is over one bank,
// the project memory model must be adjusted.
DATABANK NAME=gpr9 START=0x0900 END=0x09FF
// Reserve memory for holding received messages.
DATABANK NAME=RX_BUFFER START=0x0A00 END=0x0AFF PROTECTED
DATABANK NAME=gpr11 START=0x0B00 END=0x0BFF
DATABANK NAME=gpr12 START=0x0C00 END=0x0CFF
DATABANK NAME=gpr13 START=0x0D00 END=0x0DFF
DATABANK NAME=gpr14 START=0x0E00 END=0x0EF3
DATABANK NAME=dbgspr START=0x0EF4 END=0x0EFF PROTECTED
DATABANK NAME=gpr15 START=0x0F00 END=0x0F7F
ACCESSBANK NAME=accesssfr START=0x0F80 END=0x0FFF PROTECTED
SECTION NAME=CONFIG ROM=config
-
Hola, no se muy bien a lo que te refieres, soy un poco nuevo en todo esto. Aqui te pego el codigo de mi linker file:
CODEPAGE NAME=vectors START=0x000000 END=0x000029 PROTECTED
CODEPAGE NAME=macaddress START=0x00002A END=0x000031 PROTECTED
CODEPAGE NAME=page START=0x000032 END=0x00FD7F
CODEPAGE NAME=debug START=0x00FD80 END=0x00FFFF PROTECTED
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF003FF PROTECTED
ACCESSBANK NAME=accessram START=0x0000 END=0x007F
DATABANK NAME=gpr0 START=0x0080 END=0x00FF
// Reserve memory for the heap.
DATABANK NAME=HEAP START=0x0100 END=0x08FF PROTECTED
// Reserve space for the stack. NOTE - if the stack is over one bank,
// the project memory model must be adjusted.
DATABANK NAME=gpr9 START=0x0900 END=0x09FF
// Reserve memory for holding received messages.
DATABANK NAME=RX_BUFFER START=0x0A00 END=0x0AFF PROTECTED
DATABANK NAME=gpr11 START=0x0B00 END=0x0BFF
DATABANK NAME=gpr12 START=0x0C00 END=0x0CFF
DATABANK NAME=gpr13 START=0x0D00 END=0x0DFF
DATABANK NAME=gpr14 START=0x0E00 END=0x0EF3
DATABANK NAME=dbgspr START=0x0EF4 END=0x0EFF PROTECTED
DATABANK NAME=gpr15 START=0x0F00 END=0x0F7F
ACCESSBANK NAME=accesssfr START=0x0F80 END=0x0FFF PROTECTED
SECTION NAME=CONFIG ROM=config
¿Ese archivo lo has hecho tu o lo has copiado de otra parte?
¿Estás queriendo utilizar un bootloader o software similar? Todo indica que hay una parte de un código (que tal vez no hiciste tu) que no entra en una determinada sección donde se quiere alojar.
Eso puede ser o bien que tu hayas usado un .o de otra persona o que estes usando
#pragma code = 0x0000
en tu código.
-
Este código lo ha hecho Microchip, es parte de su stack de zigbee. Yo aun no he tocado nada, simplemente intente hacer Build all para construir el .hex y programar las placas y me dio ese error. He mirado y no hay en ningun fichero #pragma code = 0x0000
-
Este código lo ha hecho Microchip, es parte de su stack de zigbee. Yo aun no he tocado nada, simplemente intente hacer Build all para construir el .hex y programar las placas y me dio ese error. He mirado y no hay en ningun fichero #pragma code = 0x0000
Ah, me parecía que ese linker no correspondía a un usuario novato. Tiene bastantes cosas "a medida" que no son las convencionales.
No he bajado ese código ni lo he compilado nunca, pero debiera funcionar salvo que lo quieras compilar en otro pic diferente al del application note del stack zigbee.
En cuanto a lo demás si sigues teniendo problemas, te sugiero que te vayas al foro de Microchip, ahí de seguro te puedes evacuar la duda más puntual sobre si hay algun "bug" en este código con respecto al MPLAB C18 3.0.x
O tal vez debas bajarte de nuevo el stack para el compilador 3.0.x
-
Creo que hare eso, mirare en el foro de microchip para ver si alguien ha tenido el mismo problema, si averiguo el porque lo posteo aqui por si alguien le vuelve a pasar. Muchas gracias por todo, y un saludo al foro