La primera en la frente

Contaba el otro día que había comprado una Raspberry Pi Pico W y que no había tenido muchos problemas, siguiendo los ejemplos, para montar un servidor web que permitía remotamente apagar y encender un led.

Pues bien, fui a modificar el programa que estaba corriendo y la enchufé mediante el cable USB al ordenador, arranqué Thonny y mi amigo Thonny decía que no había manera de parar el programa y, por lo tanto, poco se podía hacer.

Buscando en internet encontré que la gente de Raspberry Pi decían que era muy difícil que eso ocurriese, pero que podía ocurrir. Lo primero que se te ocurre es borrar el fichero main.py que está ejecutándose, pero no había manera ni con Thonny ni con minicom, así que si no se pude acceder mal va a poder borrarse.

La manera que aconsejan es flashear una imagen que se encarga de borrar todos los ficheros que encuentre. Para ello proporcionan una imagen llamada flash_nuke.uf2. Esto está claro que lo arregla porque borra todo. El método es flashear con esa imagen y luego volver a flashear con el firmware de MicroPython «normal», pero si no has tenido la precaución de grabar antes en otro sitio el fichero main.py, lo has perdido.

Pero existe otro método más adecuado para cuando pasa esto y es flashear con una imagen que lo que hace es cambiar el nombre al fichero main.py a main-1.py, de tal forma que cuando se vuelva a flashear con el MicroPython «normal» el fichero estará ahí aunque no ejecutándose y, por lo tanto, no se quedará bloqueada la Rasp. Esto lo cuentan mejor en este hilo del foro de Raspberry Pi. En ese hilo proporcionan el fichero MicroPython_RenameMainDotPy.uf2.zip que es la imagen comprimida que hay que flashear o los ficheros fuente por si alguien quiere generar la imagen por sí mismo: MicroPython_RenameMainDotPy.source.zip Así que si se bloquea, se flashea con esta imagen y luego se vuelve a flashear con el MicroPython normal. Luego se mira el fichero main-1.py para ver si se puede adivinar por qué provoca que se bloquee.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *