Problema con memoria RAM en C18

#1
Saludos amigos foreros,

Voy directo al grano, tengo un problema con un PIC 18F4685, el cual al momento de compilar me saca un error que indico en la imagen. Realizo un cambio de declaracion de variables al inicio, eliminando algunas y al compilar nuevamente me genera el hex de forma adecuada. Lo primero que supuse al pasar esto era que se habia llenado la memoria ram del pic y no podria almacenar mas datos, pero mi sorpresa fue cuando saque un mapa de uso de memoria y pude notar que aun habia buen espacio en la ram.

memoria del PIC usada con el siguiente codigo:

#define __CUSTOMHTTPAPP_C
#include "TCPIPConfig.h"
#include "TCPIP Stack/TCPIP.h"
#include "MainSuky.h" // Needed for SaveAppConfig() prototype

unsigned char marmod[30]="XXXX", cap[5]="XXXX", m=0,est[10],event,mes[30],dia[30],hora[30],min[30],prio[10],minnot, parmat,tempo[6];
//float compreamp,settemp,tempact[10],volt[10],compcon[10],tempalar;

el error se genera cuando elimino el comentario de las variables float

//float compreamp,settemp,tempact[10],volt[10],compcon[10],tempalar;

y procedo a compilar nuevamente, el error se genera con cualquier variable segun estube probando.



Espero puedan ayudarme.:cry:
 

Adjuntos

#2
Hola:
Indica que el linker no está adecuadamente configurado, mi sugerencia es que busques info relacionado con:

Code Model
- Small code model (<= 64K bytes)
- Large code model (> 64K bytes)

Data Model
- Large data model (all RAM banks)
- Small data model (access RAM only)

Stack Model
- Single-bank model
- Multi-bank model


Saludos.
 
#4
Bueno, creo que pude dar con la solución para a quienes les sucede esto.....aunque no se si en algún momento esta pueda fallar, la idea es unir bancos de memoria RAM, en el archivo .lkr correspondiente al PIC con el que estamos trabajando....si alguien sabe si esto puede generar fallas en el funcionamiento....me avisan por favor.
 
#5
Basta con configurar bien, ya que el archivo .lkr se modifica por varios motivos, por ejemplo al usar bootloader o USB, de acuerdo a las necesidades del programador pero siempre dentro de los límites de la memoria. Al igual para lo que antes mencione, se cambia cuando se utiliza funciones con el UART...

Saludos.
 
Arriba