Dónde almacenar variables no volátiles en el microcontrolador ARM

1

Noob pregunta aquí. Solo tengo una pequeña experiencia con los microcontroladores y toda esa experiencia se limitó al 8051. Estoy trabajando en un proyecto y me gustaría usar el microcontrolador ARM cortex M4. Programar el microcontrolador y configurar los registros e IO es bastante fácil. El proyecto requiere que una persona pueda ingresar ciertas variables como el tiempo, el peso, etc. Esos valores deben almacenarse en una memoria no volátil para que, si el sistema incorporado pierde energía, los valores se conservarán.

¿Alguno de los microcontroladores Cortex M4 tiene memoria flash en chip (u otra forma de memoria no volátil) que se puede usar para datos? En caso afirmativo, ¿cómo especifica el programa esta memoria en chip como la ubicación para almacenar los datos?

Si no hay memoria en el chip como se describe anteriormente, asumo que se puede conectar un IC de memoria flash a los pines GPIO del microcontrolador para almacenar los datos externamente. ¿Hay algún recurso que pueda guiarme en este proceso?

No necesito almacenar mucha información, por lo que sería preferible utilizar recursos en el chip en comparación con comprar otro IC solo para almacenar algunos bytes de información.

    
pregunta boymeetscode

1 respuesta

3

Tendrá que leer la hoja de datos del chip en particular que tiene en mente. Hay algunos chips M4 con EEPROM que se puede borrar por bytes de alta resistencia (100,000 o más) (por ejemplo, R7FS7G27H3A01CFC), otros pueden tener flash de escritura pero deben borrarse un sector a la vez y la resistencia puede ser mucho menor.

'ARM Cortex M4' solo describe las características básicas del núcleo. Hay características opcionales, y la memoria y el complemento periférico dependerán de la implementación del fabricante individual.

Puede utilizar una EEPROM serie I2C o SPI si desea almacenar algunos bytes de datos de usuario de manera fácil y económica (a partir de aproximadamente 10 centavos de cantidad), por lo que no es necesario que la inclusión de EEPROM sea un requisito para el MCU. Por ejemplo, mire los 128 bytes 24C01 .

Algunos también pueden admitir una batería de respaldo, lo que generalmente es una mala opción para el almacenamiento de memoria no volátil simple, pero si necesita un reloj en tiempo real y puede soportar la desaparición de los datos a veces cuando la batería se agota, podría ser Una opción viable.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas