Hay varios proyectos de bajo costo que emulan dispositivos SDIO; de hecho, SDIO es un estándar que puede utilizar para implementar sus propias clases de dispositivos, por lo que no es sorprendente.
Un esfuerzo reciente es el generación de archivos FAT sobre la marcha de scanlime (video aquí ).
Nunca se puede saber qué hay almacenado dentro de una tarjeta SD, ya que la interfaz del dispositivo de bloque externo solo se vincula a través de firmware a los bloques de memoria interna (que generalmente son de un tamaño diferente y se intercambian al vuelo). , Copiar en escrito). Entonces, si bien el "emulador" de su tarjeta SD puede detectar un error en su sistema operativo, es posible que no detecte un error en el firmware del controlador de memoria de su tarjeta SD o un defecto de flash.
Desde un punto de vista personal, parece que desea un analizador lógico conectado a la PC (p. ej. sigrok + fx2lafw + FX2 evalboard) que captura las transacciones SD (posiblemente ralentizadas por el hardware) y las interpreta en el software de la PC. , modificando una imagen del sistema de archivos en RAM que debería ser consistente con lo que sucede en la tarjeta SD. De esa manera, podría tomar "instantáneas" en cualquier momento, y con suficiente conocimiento del sistema de archivos FAT (afortunadamente, muy simple), analizar dónde ocurren los errores.
Yo diría que eso es solo un poco mejor que depurar directamente el controlador del sistema de archivos de lo que se escriba en la tarjeta SD, y la depuración del software es mucho, mucho más fácil. Si puede estar a mitad de camino, el controlador del sistema de archivos está libre de errores (por ejemplo, si utiliza la gran implementación de Linux, o VXworks o las ventanas integradas), trataría de descartar errores en la parte del controlador SDIO del sistema operativo, y si se muestra no hay errores, entonces, bueno, tienes hardware roto.