Con getenv() veo que el 24FJ256GA110 tiene estos valores:
PROGRAM_MEMORY ................... 0x0002ABF8
FLASH_ERASE_SIZE ................. 0x0800
FLASH_WRITE_SIZE ................. 0x0100
Lo que voy a hacer es montar los 2Kbytes, como dice MGLSOFT, al final de la ROM de Programa, usando el #ORG Start, End {} y con un Buffer de 2Kb sobre RAM haré una pseudo-eeprom
- Leo con read_program_memory() sobre el buffer
- Actualizo el contenido del buffer con unas funciones similares a las de la EEPROM
- Hago el erase_program_memory() que aconseja el Datasheet del micro
- Escribo el buffer con el write_program_memory()
Ya os pongo los resultados.
Con getenv() veo que el 24FJ256GA110 tiene estos valores:
PROGRAM_MEMORY ................... 0x0002ABF8
FLASH_ERASE_SIZE ................. 0x0800
FLASH_WRITE_SIZE ................. 0x0100
Lo que voy a hacer es montar los 2Kbytes, como dice MGLSOFT, al final de la ROM de Programa, usando el #ORG Start, End {} y con un Buffer de 2Kb sobre RAM haré una pseudo-eeprom
- Leo con read_program_memory() sobre el buffer
- Actualizo el contenido del buffer con unas funciones similares a las de la EEPROM
- Hago el erase_program_memory() que aconseja el Datasheet del micro
- Escribo el buffer con el write_program_memory()
Ya os pongo los resultados.
Es así como se hace Diego, aunque puedes usar un buffer menor al tamaño de la página de 2kB. Si quieres ver un caso extremo, en una empresa donde trabajé, usaban la FLASH como RAM en un 18F...
Con getenv() veo que el 24FJ256GA110 tiene estos valores:
PROGRAM_MEMORY ................... 0x0002ABF8
FLASH_ERASE_SIZE ................. 0x0800
FLASH_WRITE_SIZE ................. 0x0100
Lo que voy a hacer es montar los 2Kbytes, como dice MGLSOFT, al final de la ROM de Programa, usando el #ORG Start, End {} y con un Buffer de 2Kb sobre RAM haré una pseudo-eeprom
- Leo con read_program_memory() sobre el buffer
- Actualizo el contenido del buffer con unas funciones similares a las de la EEPROM
- Hago el erase_program_memory() que aconseja el Datasheet del micro
- Escribo el buffer con el write_program_memory()
Ya os pongo los resultados.
Es así como se hace Diego, aunque puedes usar un buffer menor al tamaño de la página de 2kB. Si quieres ver un caso extremo, en una empresa donde trabajé, usaban la FLASH como RAM en un 18F...
:shock: :shock: :shock: Pero la flash tiene un tiempo de vida limitado ...
Si Diego se entiende tu concepto, yo me refería al comentario que hizo Bruno acerca de la empresa donde trabajo ...
Si Diego se entiende tu concepto, yo me refería al comentario que hizo Bruno acerca de la empresa donde trabajo ...
Si. Era para una fábrica de autos de Argentina. El tiempo estimado de vida era entre 9 y 12 meses, debido al uso de la FLASH como RAM...
Si Diego se entiende tu concepto, yo me refería al comentario que hizo Bruno acerca de la empresa donde trabajo ...
Si. Era para una fábrica de autos de Argentina. El tiempo estimado de vida era entre 9 y 12 meses, debido al uso de la FLASH como RAM...
:shock: :shock: :shock: Después de eso tenías que cambiar el coche ??? :D :D :D
Quien fue el craneo que se le ocurrio esa idea ? :2]
flash como ram?? Eso no me cuadra, la flash es bastante mas lenta para utilizarla como ram que cualquier otra opcion, incluso una flash externa
Y no hubiese sido mas sencillo buscarse una MCU con mas RAM :D :D
hola, una consulta, ya he podido guardar datos en la memoria de programa del pic 18f452, pero al momento de reescribirlo con otros datos o mejor dicho hacer una actualizacion de datos, no se guardan bien!
a que se debera esto?
saludos
por fin lo logre y ya puedo cantar victoria :-/ :-/ :-/pucha nada, falsa alarma, la rutina de grabar datos en la memoria no graba nada, parece como que la memoria se bloqueara
gracias