Hola, voy a proponer un error que ya he visto dos veces.
Resulta que el pasado Open de Yecla, un compañero actualizó un chip, pero el proceso salió fallido (creo que era un B2). El pasado sábado 18 de enero de 2020, actualicé el firmware de mi chip (B1) y también falló. Ambos chips ahora son irrecuperable (de momento) dado que el programa Bootloader de slot.it no conecta con los chips.
Ahora un poco de conocimientos teóricos de software embebido. El microcontrolador de mi chip (creo que es un B1) es un ATmega 168PA. Mirando el datasheet (hoja de especificaciones) vi esto:
"The Flash memory is organized in two main sections, the Application section and the Boot Loader section" Es decir, la memoria de programa del microcontrolador está dividida en dos partes. La parte de la aplicación (es decir, el programa que hace posible que controlemos el cochecito desde el mando) y la parte del bootloader (el programa para hacer posible que pongamos tal o cual firmware).
Cuando ponemos el coche en la pista, el PC (Program Counter, que es un numerito el cual nos dice que dirección de memoria se tiene que ejecutar, o mal dicho, que linea de programa se tiene que ejecutar) apunta a la primera instrucción de la memoria de aplicación. Es decir, vamos a poder usar el chip para jugar con él
Cuando ponemos el modo bootloader, el PC apunta a la primera instrucción de la memoria de bootloader, es decir, vamos a poder actualizar el firmware.
También he visto que para que el microcontrolador acceda a la memoria de bootloader, se debe ejecutar un comando desde el puerto serie (Esto para un usuario normal, es ejecutar el programa de slot.it y seguir las instrucciones que el mismo programa dice)
La cosa es que la parte del bootloader está protegida y posiblemente no puede (ni debe) reescribirse, porqué si se reescribe y falla el proceso, tenemos un chip que no es posible ya nunca actualizarlo y posiblemente tampoco funcione.
Pues bueno, pese a estar el programa Bootloader "protegido" contra escrituras, el chip no entra nunca en modo bootloader ni tampoco se puede jugar con él.
Me da la sensación que la memoria del chip ha quedado corrompida, a alguien le ha pasado lo mismo?
Para solucionarlo se podría hacer:
- comprar un microcrontrolado nuevo (precio aprox de 2€ https://es.rs-online.com/web/p/microcon ... s/1278265/).
- Desoldar el microcontrolador viejo.
- fabricar un zócalo para programarlo.
Al menos tenemos la suerte de disponer del binario.
Lo primero es fácil, lo segundo... hace falta instrumental para llevarlo a cabo . Y lo tercero, lo mismo más encontrar el programador o como fabricarlo.
No espero que nadie encuentre la solución (o sí). Espero que slot.it tenga en cuenta que sus chips fallan, y la solución no es comprar uno nuevo, sino la reparación, ya que seguro que saben como y tienen el instrumental para hacerlo y no tarden más de un año de devolverlos.
Chips bootloader fallido
- Albert
- Mensajes: 70
- Registrado: Lun Sep 09, 2019 3:52 pm
Bueno, haciendo investigaciones he visto que para programar los chips con cables. En principio, el microcontrolador a programar es el Atmel mega 168pa con un encapsulado de 32 pines.
Los pines de programación son los MOSI, MISO y SCK
Y se conectarían al conector de programación tal y como se muestra en esta imagen además de la alimentación (VCC), masa (GND) y el pin de RESET.
Con esto y el binario disponible al menos hay una pportunidad para una reparación. En Aliexpress venden este programador baratito para micros Atmel
https://es.aliexpress.com/item/1925104784.html
De momento es la investigación que he hecho hoy. Mañana o jueves me dispondré a reprogramar el chip, a ver si hay suerte.
Los pines de programación son los MOSI, MISO y SCK
Y se conectarían al conector de programación tal y como se muestra en esta imagen además de la alimentación (VCC), masa (GND) y el pin de RESET.
Con esto y el binario disponible al menos hay una pportunidad para una reparación. En Aliexpress venden este programador baratito para micros Atmel
https://es.aliexpress.com/item/1925104784.html
De momento es la investigación que he hecho hoy. Mañana o jueves me dispondré a reprogramar el chip, a ver si hay suerte.
- Albert
- Mensajes: 70
- Registrado: Lun Sep 09, 2019 3:52 pm
En este video puede ser útil para el propósito de flashear los chips
- pep0n
- Mensajes: 736
- Registrado: Mié Sep 04, 2019 6:35 am
-
- Mensajes: 13
- Registrado: Dom Dic 01, 2019 12:58 pm
Traemelos, Albert, que yo tengo mucha fe en probar y probar.
-
- Mensajes: 34
- Registrado: Mar Nov 26, 2019 10:51 pm
El chicón es todo un genio sin explotar
- Albert
- Mensajes: 70
- Registrado: Lun Sep 09, 2019 3:52 pm
Bueno, después del primer intento soldando los cables MOSI, MISO, SCK y RESET, además de alimentar el chip, el programador no ha detectado el chip.
Lo siguiente a probar será desoldar el chip y soldar los mismos cables más la alimentación (VCC) y los 0 voltios (GND). A ver si hay suerte. Si no hay suerte, aún se podrían probar más cosas.