Autor Tema: problema con Array en memoria de programa  (Leído 4162 veces)

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

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: problema con Array en memoria de programa
« Respuesta #15 en: 19 de Mayo de 2013, 15:20:00 »
Supongo que tienes razón y no es problema de bancos, pero si que he visto en el datasheet que a partir de una posición de memoria de programa si intentas leer te devuelve un caracter null. He intentado poner el array en una posición no problematica añadiendo un @ 300 pero tampoco funciona.

En cuanto a lo debuggerar tendré que hacer otro programa solo para hacer el debugger, el programa que tengo ahora es muy largo y puede ser un lio (tampoco soy un experto debuggeando), eso si, lo raro es que con el Proteus va bien por lo que entiendo que el programa esta bien, se compila bien y el problema tiene que estar en el PIC o la memoria del PIC que no se pueda leer o algo así.

Me lo mirare detalladamente, pero me suena que hay unos fuses de protección de código... ¿esos fuses de protección de codigo afectan solo a intentar leer con el programador o tambien afectarian a leer con el propio PIC?
BitPIC

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: problema con Array en memoria de programa
« Respuesta #16 en: 19 de Mayo de 2013, 15:24:28 »
Puede ser un problema de fuses. Los PIC18 pueden impedir que se realicen accesos a tablas(que seguramente use en este caso para leer el array) desde otros bancos de la ROM. Podrías buscar el problema por alli. Permite que se puedan leer tablas desde otros bloques de la ROM, mediante los fuses correspondientes(EBTRB, EBTR0, EBTR1, EBTR2 y EBTR3)

"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: problema con Array en memoria de programa
« Respuesta #17 en: 19 de Mayo de 2013, 15:30:24 »
Puede ser un problema de fuses. Los PIC18 pueden impedir que se realicen accesos a tablas(que seguramente use en este caso para leer el array) desde otros bancos de la ROM. Podrías buscar el problema por alli. Permite que se puedan leer tablas desde otros bloques de la ROM, mediante los fuses correspondientes(EBTRB, EBTR0, EBTR1, EBTR2 y EBTR3)



Si no me equivoco los tengo bien configurados:

Código: [Seleccionar]
/ CONFIG7L
#pragma config EBTR0 = OFF      // Table Read Protection bit (Block 0 (000800-001FFFh) is not protected from table reads executed in other blocks)
#pragma config EBTR1 = OFF      // Table Read Protection bit (Block 1 (002000-003FFFh) is not protected from table reads executed in other blocks)
#pragma config EBTR2 = OFF      // Table Read Protection bit (Block 2 (004000-005FFFh) is not protected from table reads executed in other blocks)
#pragma config EBTR3 = OFF      // Table Read Protection bit (Block 3 (006000-007FFFh) is not protected from table reads executed in other blocks)

// CONFIG7H
#pragma config EBTRB = OFF      // Boot Block Table Read Protection bit (Boot block (000000-0007FFh) is not protected from table reads executed in other blocks)

¿Me equivoco?

EDITOO!!!!!!!!!!!! : GRACIAS si que era eso, pero era #pragma config EBTRB = ON

GRACIAS GRACIAS GRACIAS ajajajaj
BitPIC

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: problema con Array en memoria de programa
« Respuesta #18 en: 19 de Mayo de 2013, 15:34:17 »
Adjunta el hex y lo miro. La verdad está allí.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: problema con Array en memoria de programa
« Respuesta #19 en: 19 de Mayo de 2013, 15:41:53 »
BrunoF y todos los que habéis intentado echar un cable!!!! Muchas gracia a todos.

Era lo que decia BrunoF, el fuse EBTRB tiene que estar como ON, yo interpretaba que OFF era que podias acceder a la memoria.

Poniendolo así:
#pragma config EBTRB = ON

a funcionado al momento.

Ahora ya me funciona toda la tabla de mensajes que tenia guardada, sin limite de bytes por array (bueno si, la memoria que tengas disponible)

Un saludo a todos.  :-/
BitPIC

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: problema con Array en memoria de programa
« Respuesta #20 en: 19 de Mayo de 2013, 15:46:15 »
Por eso, lo de ON y OFF es muy confuso a veces. Lo mejor es ir a la verdad pura de los ceros y unos en cada valor del registro y mirar el datasheet a ver que significa cada cosa.

Me alegro que lo hayas hecho andar. A disfrutar!

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: problema con Array en memoria de programa
« Respuesta #21 en: 19 de Mayo de 2013, 19:00:46 »
Me alegro mucho, ha sido una pelea dura.
Una lástima que Proteus siga teniendo esos fallos.

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: problema con Array en memoria de programa
« Respuesta #22 en: 20 de Mayo de 2013, 16:24:40 »
La concreta es en el micro. Lo del proteus es como decía un profesor de electrónica.

"Una cosa es con guitarra y otra distinta es con violín"

Tomo nota para cuando tenga problemas similares siempre mirar los fuses. Esos cabrones siempre están jodiéndole la vida a uno.


Ya se, ya se, ya se algo nuevo! Nuevo hack en mi biblioteca, así cuando alguien venga con el súper problema después de un mes, le puedo decir. ¿Ya miraste los fuses tales?

Humm y me huelo que a Bruno ya una vez le explotó la cabeza con un problema similar.

Un saludo
Reinier


 

anything