Autor Tema: Problemas con la RAM  (Leído 1647 veces)

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

Desconectado D1to

  • PIC10
  • *
  • Mensajes: 39
Problemas con la RAM
« en: 13 de Febrero de 2017, 00:02:49 »
Hola a todos, recientemente trabajando en un pequeño proyecto, me tope con el siguiente error "IRP bit must be set manually for indirect access to 'texto' variable" en alguna parte de internet decía que era por haber sobrepasado el 50 % de la  RAM, la consulta es como hago para direccionar  el IRP. Estoy usando Mikro C Pro y 16F877a.

Tengo una segunda consulta, en internet me tome con una seria de funciones q me ayudan a reducir el uso de la RAM cuando imprimo textos en la LCD,  para ello uso ciertas variables como constantes, según la explicación, estos ya no se almacenan en la RAM, si  no en  la ROM, mi consulta es ¿al escribir una y otra vez en la ROM, no reduce el numero de veces de escritura q tiene la ROM? creo q era 1 000 000 veces. Es recomendable usar este método o mejor configuro el IRP

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Problemas con la RAM
« Respuesta #1 en: 13 de Febrero de 2017, 08:55:45 »
Citar
Hola a todos, recientemente trabajando en un pequeño proyecto, me tope con el siguiente error "IRP bit must be set manually for indirect access to 'texto' variable" en alguna parte de internet decía que era por haber sobrepasado el 50 % de la  RAM, la consulta es como hago para direccionar  el IRP. Estoy usando Mikro C Pro y 16F877a.

Por lo leido es un problema de Mikro C, en realidad no es un "problema" per se, sino que decidieron no hacerse cargo degenerar codigo para cambiar esto.
Resulta que el direccionamiento indirecto, el que se accede con los registros FSR necesita de 1 bit mas para poder llegar a toda la RAM, como usuario de C eso no te deberia importar para NADA.
Aun asi de esta forma si no usas todo el direccionamiento vas a tener problemas, por que solo una pequeña parte de la RAM vas a poder usar.

Tambien se complica por que uno no posee la libertad de decir donde ubicar las variables, eso es trabajo del linker. Puede que el compilador de Mikro C tenga una directiva rara que permita hacerlo, y asi usar el bit IRP manualmente. Pero como te digo, vos NO sabes donde estan ubicadas las variables, asi que no podes saber donde vas a tener que poner en 1 o en 0 ese bit.

Citar
Tengo una segunda consulta, en internet me tome con una seria de funciones q me ayudan a reducir el uso de la RAM cuando imprimo textos en la LCD,  para ello uso ciertas variables como constantes, según la explicación, estos ya no se almacenan en la RAM, si  no en  la ROM, mi consulta es ¿al escribir una y otra vez en la ROM, no reduce el numero de veces de escritura q tiene la ROM? creo q era 1 000 000 veces. Es recomendable usar este método o mejor configuro el IRP

Con el "const" se guarda en FLASH en los microcontroladores. Esto te permite la liberacion de bastante RAM. Ya que estos strings no se modifican.
Usandolo para mantener los strings, La FLASH se escribe al momento de grabarse el micro, por lo cual se va a grabar 1 ves por cada grabacion que le hagas.
Si supones que no modificas las FLASH donde estan los textos, aun asi cuando cambies algo del programa, las posiciones del programa van a tener que borrarse,
Si no mal recuerdo son 100K de operaciones sobre la FLASH.

Es mejor este metodo.

Desconectado D1to

  • PIC10
  • *
  • Mensajes: 39
Re:Problemas con la RAM
« Respuesta #2 en: 13 de Febrero de 2017, 22:41:36 »
Muchas Gracias por tu ayuda...  :o  :o  :o


 

anything