Un emulador de memoria flash es una herramienta que se utiliza para reemplazar temporalmente los chips de memoria flash o ROM en un dispositivo embebido con el fin de depurar software embebido . Estas herramientas contienen una memoria RAM de doble puerto , uno de cuyos puertos está conectado al sistema objetivo (es decir, el sistema que se está depurando) y el otro al host (es decir, el PC que ejecuta el depurador). Esto permite al programador modificar el código ejecutable mientras se está ejecutando, establecer puntos de interrupción y utilizar otras técnicas avanzadas de depuración en un sistema embebido, donde dichas operaciones no serían posibles de otro modo.
Este tipo de herramienta apareció entre los años 80 y 90, cuando la mayoría de los sistemas embebidos utilizaban chips ROM discretos (o posteriormente memoria flash) que contenían código ejecutable. Esto permitía reemplazar fácilmente el chip ROM/flash con un emulador. Junto con la excelente productividad de esta herramienta, esto impulsó su uso casi universal entre los desarrolladores de sistemas embebidos. Más tarde, cuando la mayoría de los sistemas embebidos comenzaron a incluir tanto el procesador como la memoria flash en un solo chip por razones de costo y protección de la propiedad intelectual, lo que imposibilitó el uso de emuladores de memoria flash externos, se inició la búsqueda de una herramienta de reemplazo. Y como suele suceder cuando se busca un reemplazo directo, muchas técnicas de reemplazo contienen las palabras "emulación de memoria flash", por ejemplo, la interfaz de depuración (FET) "Flash Emulation Tool" de TI para sus chips MSP430, o emuladores en circuito más genéricos , aunque ninguno de los dos anteriores tenía nada que ver con la memoria flash o la emulación en sí.
También se podría adaptar un emulador de memoria flash a un sistema embebido para facilitar la ingeniería inversa. Por ejemplo, fue la principal herramienta de hardware utilizada para la ingeniería inversa del gestor de arranque de la consola Wii.
Véase también
Referencias
Enlaces externos
- Artículo de Jack Ganssle para la sección "Rincón del principiante"
- Cómo elegir un emulador en circuito Por Jonathan Hector
- Sistemas embebidos
- Depuración