Chips bootloader fallido

Responder
Avatar de Usuario
Albert
Mensajes: 60
Registrado: Lun Sep 09, 2019 3:52 pm

Chips bootloader fallido

Mensaje por Albert » Mar Ene 21, 2020 10:31 am

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.



Avatar de Usuario
Albert
Mensajes: 60
Registrado: Lun Sep 09, 2019 3:52 pm

Mensaje por Albert » Mar Ene 21, 2020 11:16 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.
Imagen

Los pines de programación son los MOSI, MISO y SCK
Imagen

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.
Imagen

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.

Avatar de Usuario
Albert
Mensajes: 60
Registrado: Lun Sep 09, 2019 3:52 pm

Mensaje por Albert » Mar Ene 21, 2020 11:26 pm

En este video puede ser útil para el propósito de flashear los chips

Avatar de Usuario
pep0n
Mensajes: 315
Registrado: Mié Sep 04, 2019 6:35 am

Mensaje por pep0n » Mié Ene 22, 2020 11:14 am

¡Qué nivel! Ya te veo arreglando todos los chip del grupo.

litus14
Mensajes: 5
Registrado: Dom Dic 01, 2019 12:58 pm

Mensaje por litus14 » Lun Ene 27, 2020 9:52 pm

Traemelos, Albert, que yo tengo mucha fe en probar y probar.

quinux
Mensajes: 25
Registrado: Mar Nov 26, 2019 10:51 pm

Mensaje por quinux » Lun Ene 27, 2020 10:30 pm

El chicón es todo un genio sin explotar

Avatar de Usuario
Albert
Mensajes: 60
Registrado: Lun Sep 09, 2019 3:52 pm

Mensaje por Albert » Mié Feb 05, 2020 12:15 pm

Imagen

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.

Responder

Volver a “Sistema O2”