Autor Tema: Memoria RAM ¿ocupa mucho mas en C que en ASM?  (Leído 2845 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado cereal2

  • PIC10
  • *
  • Mensajes: 26
Memoria RAM ¿ocupa mucho mas en C que en ASM?
« en: 05 de Abril de 2005, 10:57:00 »
Buenas, pues estoy programando un programilla para mostrar un mensaje al LCD en C con CCS.
Por lo tanto, de momento, tengo programado sólo las funciones para inicializar el LCD y para imprimir una cadena de carácteres.
Resulta que cuando compilo, me sale la siguiente linea:

      Memory usage:   ROM=7%      RAM=73% - 75%

Aquí me dice que el programa (ROM) ocupa 7% y las variables (RAM), entre 73% y 75%.

¿Tanto me ocupan las variables? o sea, todos los bancos del PIC están ocupados a 75% o solo es un banco y debo programar de tal manera que pueda usar otros bancos para tenar mas memoria?
A parte de unas variables como enteros  como contadores y tal, tengo otra que es una cadena de carácteres: char mensaje[80]
Pero si pongo más de 80 carácteres, ya me da error de que no hay más espacio. Mi intención es tener más espacio para la variable "mensaje", como si fuera un mensaje de movil (160) o más.

Si veis que necesitais mi código para poder comprobarlo, me lo pedís, sino, que solución tendría?

Muchas gracias por adelantado.

Desconectado gfp

  • PIC18
  • ****
  • Mensajes: 274
RE: Memoria RAM ¿ocupa mucho mas en C que en ASM?
« Respuesta #1 en: 05 de Abril de 2005, 17:35:00 »
Bueno, es preciso que la RAM esté algo cercana a su limite, pues, la difinicion de 81 caracteres te está llegando al limite de capacidad.
Al igual que tu no se si esto se refiera a toda la RAM, es decir la ram definida en todos los bancos. A ver si alguien nos saca de la duda... y de no ser asi entonces como declaro registros en la RAM de otros bancos.


gfp Sonrisa

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Memoria RAM ¿ocupa mucho mas en C que en ASM?
« Respuesta #2 en: 05 de Abril de 2005, 17:52:00 »
prueba guardando la cadena en la ROM ... para eso pon "static" delante de la declaración de la variable.

Saludos! Giño

Desconectado tornar

  • PIC18
  • ****
  • Mensajes: 342
RE: Memoria RAM ¿ocupa mucho mas en C que en ASM?
« Respuesta #3 en: 06 de Abril de 2005, 04:01:00 »
Codigo:
¿Tanto me ocupan las variables? o sea, todos los bancos del PIC están ocupados a 75% o solo es un banco y debo programar de tal manera que pueda usar otros bancos para tenar mas memoria?


Cuando el compilador CCS, te dice que tienes ocupado el 75% de la RAM, siempre se refiere al total ocupado, teniendo en cuenta toda la memoria RAM de todos los bancos que tenga el PIC.

Desconectado cereal2

  • PIC10
  • *
  • Mensajes: 26
RE: Memoria RAM ¿ocupa mucho mas en C que en ASM?
« Respuesta #4 en: 06 de Abril de 2005, 06:16:00 »
Gracias gfp, J1M y Torner.

Tendré en cuenta para usar la ROM utilizando "static" delante de la variable.

Si veo que necesito mas memoria....recurro a una memoria externa EEPROM? Si fuera el caso, tendré que mirar por este foro sobre la EEPROM. Si alguien tiene una ligera idea de cómo usarlo en lenguaje C, se lo agradeceria mucho. Y sobre su instalación electrónica.

Gracias!!!  Rebotado

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Memoria RAM ¿ocupa mucho mas en C que en ASM?
« Respuesta #5 en: 06 de Abril de 2005, 07:24:00 »
antes que poner una eeprom yo daría el salto a por un pic superior, en cualquier caso dentro del CCS tienes una librería para el uso de una eeprom externa (i2c), su conexionado puedes verlo en este diagrama:



saludos! Giño


 

anything