El gestor de arranque enviado actualmente en las placas oficiales Arduino Nano y seleccionado a través de las Herramientas> Procesador> ATmega328P del IDE de Arduino después de elegir Herramientas> Placa> Arduino Nano es la misma versión de optiboot utilizado por Arduino / Genuino Uno: https://github.com/arduino/ArduinoCore-avr/blob/master/boards.txt#L152
nano.menu.cpu.atmega328.bootloader.file = optiboot / optiboot_atmega328.hex
https://github.com/arduino/ArduinoCore-avr/blob/master/boards .txt # L72
uno.bootloader.file=optiboot/optiboot_atmega328.hex
El cargador de arranque seleccionado a través de Herramientas> Procesador > ATmega328P (antiguo cargador de arranque) es el "ATmegaBOOT" cargador de arranque.
Tal como lo utiliza la definición de hardware Nano, existen dos diferencias significativas entre los dos cargadores de arranque:
- Optiboot no entrará en un ciclo de reinicio sin fin después de un reinicio del perro guardián. ATmegaBOOT.
- Optiboot espera que la comunicación de subida sea 115200 baudios. ATmegaBOOT, 57600. Esta es la razón por la que las placas antiguas no funcionan con la selección Herramientas> Procesador> ATmega328P y viceversa.
Existe otra diferencia muy significativa entre dos cargadores de arranque de los que, lamentablemente, no se beneficiará con la nueva definición de placa / hardware Arduino Nano: Optiboot cabrá en una sección de arranque de 0,5 kB, mientras que ATmegaBOOT requiere una sección de arranque de 2 kB. Desafortunadamente, Arduino olvidó cambiar el fusible BOOTSZ en consecuencia, por lo que se perdió la oportunidad de liberar 1,5 kB de memoria flash preciosa para los usuarios del Nano. La voluntad de Arduino de lanzar conscientemente hardware defectuoso tiene un precedente histórico.
No he podido encontrar ninguna nota de lanzamiento sobre el gestor de arranque.
Las notas de lanzamiento de Arduino aún no se han adaptado al hecho de que los paquetes de hardware pueden lanzarse independientemente de las versiones de IDE desde Arduino IDE 1.6.2. Hay una nota sobre el cambio del gestor de arranque en las notas de la versión IDE para la próxima versión IDE:
https://github.com/arduino/Arduino/commit/ec179e5af67b7f1eeb5e46d22034798f8b24b7cb
Aparte de eso, puede consultar el historial de confirmaciones:
https://github.com/arduino/ArduinoCore-avr/commit/1b14cc07331268e95eddcce2cc67e29ed667e62f