Autor Tema: ¿Han cambiado los criterios de compilación de la EEPROM en el compilador CCS?  (Leído 187 veces)

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

Desconectado PicMinor

  • PIC16
  • ***
  • Mensajes: 154
Saludos al foro!

Llevo unos días volviéndome loco y al final he localizado un problema que pienso que es achacable al compilador CCS.

Yo usaba en mi código una técnica para almacenar valores en la eeprom de esta forma:

Código: C
  1. #define VALOR   300                                     // Valor a grabar
  2.  
  3. // ---------------------------------------------------------------------
  4. // Datos en la Eeprom interna
  5. // ---------------------------------------------------------------------
  6. #define POS_EEPROM      getenv("EEPROM_ADDRESS")                    
  7.                                                                        
  8. #rom  POS_EEPROM = {VALOR}                              // Valor a grabar
  9.  
  10.  

Eso me ha funcionado siempre, después de la compilación, en la posición POS_EEPROM estaba el byte bajo de 300 (0x2C) y en la posición POS_EEPROM+1 el valor alto (0x01). Ésto ocurría, por ejemplo, con la versión 5.015 del compilador

Pues en las últimas versiones del compilador ésto ya no es así, si utilizamos el código anterior nos graba sólo el byte bajo (0x2C) dejando el byte alto sin grabar. Lo he probado con varias versiones, pero la más baja que me daba el problema era la 5.071. A todas las versiones superiores les ocurre lo mismo.

He tenido que modificar el código para que lo grabe en dos veces, separando el byte alto y el bajo.

No me parece de recibo que cambien este modo de compilación, puede que afecte a muchos códigos anteriores.

¿Le ha ocurrido a alguien más?

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7841
Re:¿Han cambiado los criterios de compilación de la EEPROM en el compilador CCS?
« Respuesta #1 en: 19 de Septiembre de 2019, 11:45:44 »
Deberías consultar si ha cambiado alguna de las instrucciones que utilizas, puede ser solo una de ellas la que cambio.

Saludos!!
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado PicMinor

  • PIC16
  • ***
  • Mensajes: 154
Re:¿Han cambiado los criterios de compilación de la EEPROM en el compilador CCS?
« Respuesta #2 en: 20 de Septiembre de 2019, 03:29:22 »
Saludos al foro!

Para MGLSOFT:
Si observas el trozo de código que he puesto verás que no hay ninguna instrucción. Se trata únicamente de directivas para el compilador, lo que se pretende es grabar en la primera posición de la EEprom el valor 300 (0x012C).

Ésto funcionaba bien en la versión 5.015 del compilador y funciona mal en la 5.071 y posteriores.

El objeto de este mensaje es avisar a la gente por si le ha ocurrido a alguien más, y que hay que comprobar los códigos antiguos por si aparece este efecto.