¿Cómo encontrar el tamaño de Flash y RAM utilizada por un firmware?
-
13-10-2019 - |
Pregunta
¿Cómo puedo encontrar el tamaño de flash (ROM) y memoria RAM utilizada por el firmware? El firmware se implementa utilizando C ++. También tengo Keil microvision4; va a ser muy útil para encontrar el tamaño de ROM y RAM?
¿O tengo que mirar el archivo MAP (.M51) del firmware para encontrar los tamaños de memoria?
O simplemente contando el tamaño del archivo hexadecimal archivos (hex) es suficiente para localizar el tamaño de ROM?
Solución
Algunos comentarios:
- El tamaño del archivo hex no proporciona una gran cantidad de información. Por ejemplo: no proporcionará ningún uso de memoria RAM. Puede incluso no le dirá el tamaño de la imagen, ya que reside en el dispositivo (estás escribiendo a NOR y NAND flash? ¿Cuáles son los tamaños de bloque de flash, etc.)
- El archivo de mapa es una buena herramienta para entender el diseño de memoria y tamaños. Se debe proporcionar toda la información de asignaciones de segmentos. El director del proyecto Keil es bastante bueno, a fin de comprobar sus opciones de construcción para asegurarse de que está generando un archivo de mapa detallado.
- Tome un vistazo a su archivo de directiva enlazador para asegurarse de que entiende cómo se asignan y se presentarán en la memoria aquellos segmentos (BSS, datos, etc.).
- Tenga en cuenta que el archivo de mapa no contendrá toda la información relativa a dinámica (heap) la asignación de memoria.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow