Diferencias entre ROM, RAM y FLASH

1.ROM

       ROM (Read Only Memory) memoria de sólo lectura. Es una memoria semiconductora cuya característica es que una vez almacenados los datos no se pueden cambiar ni borrar. Generalmente se utiliza en sistemas electrónicos o informáticos que no necesitan cambiar datos con frecuencia y los datos no desaparecerán cuando se apague la alimentación. Memoria semiconductora de estado sólido que solo puede leer datos almacenados previamente. Los datos almacenados en la ROM generalmente se escriben con anticipación antes de instalarse en toda la máquina, solo se pueden leer durante el funcionamiento de toda la máquina y no se pueden reescribir de manera rápida y conveniente como la memoria de acceso aleatorio. Los datos almacenados en la ROM son estables y no cambiarán después de un corte de energía. Su estructura es relativamente simple y fácil de leer, por lo que a menudo se usa para almacenar varios programas y datos fijos. Excepto por algunos tipos de memorias de solo lectura (como los generadores de caracteres) que se pueden usar universalmente, los contenidos de las memorias de solo lectura requeridas por diferentes usuarios son diferentes. Clasificación ROM:

  • PROM: Programable una sola vez (ROM que no se puede modificar).
  • EPROM: ROM programable borrable por UV.
  • EEPROM: ROM programable borrable electrónicamente.

2. RAM

       Memoria de acceso aleatorio RAM (Random Access Memory). Es una memoria interna que intercambia datos directamente con la CPU, el contenido de la unidad de almacenamiento se puede sacar o almacenar a voluntad según sea necesario, y la velocidad de acceso no tiene nada que ver con la ubicación de la unidad de almacenamiento. Este tipo de memoria perderá su contenido de almacenamiento cuando se apague la alimentación, por lo que se utiliza principalmente para almacenar programas que se utilizan durante un corto período de tiempo. La característica más importante de la RAM es que la velocidad de almacenamiento y lectura es muy rápida, mucho mayor que la de la ROM. Cuando la CPU (Unidad Central de Procesamiento) ejecuta un programa, primero necesita transferir instrucciones y datos a la RAM para garantizar la velocidad de cálculo. Clasificación de RAM:

  • SRAM: RAM estática. SRAM es muy rápido y puede guardar datos sin actualizar el circuito. Actualmente es el dispositivo de almacenamiento más rápido.
  • DRAM: RAM dinámica. La DRAM retiene los datos durante muy poco tiempo y requiere un circuito de actualización de la memoria para actualizarlos y recargarlos de vez en cuando; de lo contrario, los datos desaparecerán.

La ROM aún puede retener datos cuando el sistema está apagado, mientras que la RAM generalmente pierde datos después de un corte de energía.

3. DESTELLO

       FLASH EEPROM , memoria flash. Es un tipo de EEPROM. Combina los puntos fuertes de la ROM y la RAM. No solo tiene el rendimiento de borrable y programable electrónicamente (EEPROM), sino que no perderá datos debido a un corte de energía y puede leer datos rápidamente. La mayor diferencia entre este y EEPROM es que FLASH opera por sectores (bloques), mientras que EEPROM opera por bytes. La estructura del circuito de FLASH es relativamente simple, la misma capacidad ocupa un área de chip más pequeña y el costo es naturalmente menor que el de EEPROM, por lo que es adecuado para su uso como memoria de programa.

4. Cálculo del tamaño del programa del microcontrolador.

       El FLASH del microcontrolador es 4K u 8K. Después de escribir y compilar el programa del microcontrolador, se genera un archivo hexadecimal. Este archivo hexadecimal es el archivo que se descargará en el microcontrolador. El tamaño de este archivo no puede exceder el tamaño FLASH de el microcontrolador, de lo contrario el programa debe optimizarse o elegir un microcontrolador con FLASH más grande.
Insertar descripción de la imagen aquí

       El tamaño del archivo hexadecimal no es el tamaño real del espacio FLASH ocupado por el programa del microcontrolador. Una vez que la compilación se realiza correctamente utilizando la herramienta de compilación, generalmente aparecerá un mensaje.

1、Cuña/MDK

       Después de compilar exitosamente el programa del microcontrolador a través de Keil, aparecerá el siguiente mensaje:
Insertar descripción de la imagen aquí

  • Código: Indica el código a ejecutar y todas las funciones del programa.
  • Datos RO: (Datos de solo lectura) representa datos de solo lectura, datos constantes globales definidos en el programa.
  • Datos RW: (datos de lectura y escritura) representa datos de lectura y escritura inicializados, variables globales y variables estáticas definidas e inicializadas en el programa.
  • Datos ZI: (Datos iniciales cero) representa datos de lectura y escritura que están definidos pero no inicializados, variables globales y variables estáticas que están definidas pero no inicializadas en el programa (variables utilizadas en el programa e inicializadas a 0 por el sistema, Las El compilador Keil asigna de forma predeterminada un valor de 0 a todas las variables no inicializadas, y estas variables se almacenan en la RAM cuando el programa se está ejecutando).

Se puede ver en la descripción anterior:

  • El programa descargado al microcontrolador FLASH es: Código + datos RO + datos RW
  • Los datos que se ejecutan en la RAM son: datos RW + datos ZI

Supongo que te gusta

Origin blog.csdn.net/hezhanran/article/details/130601225
Recomendado
Clasificación