Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

23/05/2008 #1


Que tipo de memoria usar
hola a todos!

lo que pasa es que tengo una duda:

estoy programando el micro 16F877 para hacer un "identificador de llamadas".
Todo el código ya lo tengo, pero tengo que guardar datos (teléfonos, nombres, etc) en una memoria; y no se cual usar ni como: si la EEPROM o la FLASH
¿Cual tiene mayor número de escrituras y leídas?¿Cuál es más rapida?¿Cuál es más facil?
¿Alguien tiene algun manual o información?¿Cuál es mas facil?

de antemano, muchísimas gracias, (pues es lo único que me falta para terminar el proyecto, y me urge)

23/05/2008 #2

Avatar de DJ DRACO

creo que la mas facil es la eeprom, incluso hay muchos micro que la tienen integrada, pero tambien creo que mas rapida es la flash.
23/05/2008 #3


Te recomiendo una EEPROM externa por SPI o I2C, tales como las de Microchip o Atmel.

Una 25LC256 de Microchip, 32KB, viene en DIP8, es SPI, tiene por lo menos 1,000,000 ciclos de escritura.
23/05/2008 #4

Avatar de Meta

Es una EEPROM ya que puedes escribir y leer, en cuanto a la flash, no puedes escribir ni almacenar datos como la eeprom e incluso la RAM.
23/05/2008 #5


Meta dijo:
Es una EEPROM ya que puedes escribir y leer, en cuanto a la flash, no puedes escribir ni almacenar datos como la eeprom e incluso la RAM.
absolutamente incorrecto Meta..

el que sea FLASH solo implica que internamente sea de construcción diferente, pero puedes leer/escribir, volver a escribir, como desees... la FLASH solo tiene menos ciclos de escritura.
23/05/2008 #6

Avatar de Meta

eidtech dijo:
Meta dijo:
Es una EEPROM ya que puedes escribir y leer, en cuanto a la flash, no puedes escribir ni almacenar datos como la eeprom e incluso la RAM.
absolutamente incorrecto Meta..

el que sea FLASH solo implica que internamente sea de construcción diferente, pero puedes leer/escribir, volver a escribir, como desees... la FLASH solo tiene menos ciclos de escritura.
Si es al programar un *.hex al PIC, en cambio de almacenar datos como la EEPROM o RAM es como dije.

Si pretendes almacenar datos en la flash ya programada en el PIC y cambiar datos como hace una EEPROM, es la primera vez que veo esto. Ni una BIOS lo hace, para almacenarlo lo hace en una EERPOM interna o externa.

Espero haberlo dejado claro esta vez y perdón por la confusión.
23/05/2008 #7


Meta, has escuchado hablar del bootloader...?

Tu que crees que hace...? Lo que hace es cambiar la FLASH en tiempo de ejecución... a traves de los datos recibidos por algun puerto...aun despues de haber grabado el .HEX

Incluso hay manera de escribir la FLASH como si de una variable normal se tratara.

Y por ultimo... tambien hay FLASH externa...
23/05/2008 #8

Avatar de Meta

¿Boot Loader?

mmmmmmmmmmmmmm...

...pues...

...sí.

O estoy confundido o me expreso mal.

Hace un tiempo, me han explicado que el Boot Loader tiene un pequeño programa de .hex en la flash. Al ejecutarse, guarda información e instrucciones en la memoria RAM. Después las instrucciones que hay en la memoria RAM, ordena que se borre la actual memoria flash que hay almacenada y guarda los nuevos datos y el bootloader otra vez. Si en el momento se pierde la alimentación del PIC, se borra la RAM, y si no ha dado tiempo de hacer la operación, el PIC no sirve, lo mismo con la BIOS de cualquier ordenador o PC.

¿Has oído decir que nunca apagues o reinicies el PC mientras se actualiza la BIOS? Esta información o mensaje lo dice hasta al actualizar el Firmware de la PS3.

Sin contar con el bootloader, ¿hay alguna manera de guardar una operación aritmética o resultado como sumar 2 + 3 = 5 en la flash?

Si lo guardas en la EEPROM si queda guardada aunque apagues el PIC y lo vuelvas a alimentar. ¿Puedes hacer esto en la flash y sin el bootloader?

Si es cierto que se puede hacer, pues estaría calidad, no tendría que preocuparme almacenar datos en tiempo real en la limitada EEPROM interna ya que me sobra mucho bites de la flash por poner un ejemplo.

EDIT:
Lo de la flash externa nunca lo he oído, si eso existe, es muy curioso.
23/05/2008 #9


Meta dijo:
¿Boot Loader?

mmmmmmmmmmmmmm...

...pues...

...sí.

O estoy confundido o me expreso mal.

Hace un tiempo, me han explicado que el Boot Loader tiene un pequeño programa de .hex en la flash. Al ejecutarse, guarda información e instrucciones en la memoria RAM. Después las instrucciones que hay en la memoria RAM, ordena que se borre la actual memoria flash que hay almacenada y guarda los nuevos datos y el bootloader otra vez. Si en el momento se pierde la alimentación del PIC, se borra la RAM, y si no ha dado tiempo de hacer la operación, el PIC no sirve, lo mismo con la BIOS de cualquier ordenador o PC.

Sin contar con el bootloader, ¿hay alguna manera de guardar una operación aritmética o resultado como sumar 2 + 3 = 5 en la flash?

Si

Si lo guardas en la EEPROM si queda guardada aunque apagues el PIC y lo vuelvas a alimentar. ¿Puedes hacer esto en la flash y sin el bootloader?

Si

Si es cierto que se puede hacer, pues estaría calidad, no tendría que preocuparme almacenar datos en tiempo real en la limitada EEPROM interna ya que me sobra mucho bites de la flash por poner un ejemplo.

EDIT:
Lo de la flash externa nunca lo he oído, si eso existe, es muy curioso.
http://www.atmel.com/products/SFlash/default.asp

Investiga bien como funciona el bootloader, tienes que leer sobre la arquitectura, organización de memoria y el conjunto de instrucciones.
23/05/2008 #10

Avatar de Meta

Lo que dije es una opinión, no tiene porqué ser como dije o me dijeron. Pero lo voy a leer, espero que sea igual el del AVR al PIC o por el estilo.


No tiene que ver con PIC, pero bueno, la idea es la idea.
http://www.portalsimberos.com/el-por...T%20LOADER.htm
23/05/2008 #11


Si gustas una explicacion detallada para AVR te la puedo proporcionar.

Para PIC no, ya que no lo uso... y ni me interesa usarlo...
23/05/2008 #12


Meta dijo:
Lo de la flash externa nunca lo he oído, si eso existe, es muy curioso.
http://www.atmel.com/products/DataFlash/default.asp
23/05/2008 #13

Avatar de Meta

Veo que los Atmel está en cabeza, ¿los PIC están atrás?


RECUERDA:
¿Existe la manera de guardar datos a la memoria flash sin el bootloader?
Aún esta parte no me has respondido.
23/05/2008 #14


Meta dijo:
Veo que los Atmel está en cabeza, ¿los PIC están atrás?


RECUERDA:
¿Existe la manera de guardar datos a la memoria flash sin el bootloader?
Aún esta parte no me has respondido.
SIIII
23/05/2008 #15

Avatar de Meta

jejeejjeje, tranqui, eso es lo que quería saber.

Juraría que la respuesta es NOOOO.

Sin bootloader, claro.

¿Hay ejemplos en asm de ese ejemplo que dije del 2 + 3 = 5 y que se guarde en la propia flash en vez de la EEPROM?

¿Entonces para qué hicieron la EERPOM interna o externa?

¿De adorno?
23/05/2008 #16


Uy... no es la intención de ponernos a hablar de historia ni de características, pero en si la EEPROM es muy diferente de la FLASH... tiempos de acceso, consumos de potencia, espacio en silicio.

Hay notas de aplicación de Atmel, que hablan del tema con respectivo código. No es lo mejor ni lo mas eficiente, pero SI se puede.
23/05/2008 #17

Avatar de Meta

En Atmel no se, pero quiero saberlo si se puede en PIC. En otros sitios dicen que no, aquí dicen que si (en Atmel).

¿En qué quedamos?

Mi lógica no me lo creo porque recuerdo que los primeros PIC no incluía EEPROM interna para guardar datos y había necesidad de ello en aquella época. Lo hicieron y ahora si se puede. Lo del bootloader es para actualizar más bien el firmware y sin quitar el PIC de la placa.

Sin contar con el bootloader no me creo que eso sea cierto, recuerdo que en un libro de PIC decía que no, pero cuando me devuelvan el libro confirmaré la respuesta y les diré la página, título, etc...

PD: Que sepas que no estoy por cabrearte ni llevarte la contraria, son opiniones que tenemos y para aprender.
23/05/2008 #18


Nota de Aplicación 105 de Atmel.
http://www.atmel.com/dyn/resources/p...ts/doc2546.pdf

Aquí lo utilizan para guardar parámetros (2+3=5) en memoria, sin embargo es el mismo principio de operación del bootloader, SIN SER UN BOOTLOADER.

Asi que si el PIC tiene un BOOTLOADER, también se puede hacer.

Ya te dije que debes de revisar...antes de volvear a postear, te recomiendo cheques el documento de la liga arriba citada.
23/05/2008 #19

Avatar de Meta

Hola mi muy distinguido amigo:

Hablaba del PIC. Ya has demostrado que en Atmel si se puede, pero en PIC no se. ME has demostrado documentos del AVR, pero de PIC no. Bueno vamos a dejarlo así, pero te admito que en PIC no me lo creo.

Un cordial saludos.
23/05/2008 #20


Pagina 44 del Datasheet del PIC16F87X.

Secciones: Reading the FLASH Program Memory y Writing to the FLASH Program
Memory.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.