Estoy utilizando Atmel ARM M0 + MCU (ATSAMD20J18). He escrito un bootload para ello. El gestor de arranque verificará los primeros bytes (llamémoslo clave mágica) desde una memoria flash SPI externa para determinar si se debe ingresar al modo de carga de arranque. Si los bytes son correctos, copiará los datos del mismo flash SPI al flash interno de la MCU.
El problema es por primera vez en la programación (por ejemplo, en la fabricación), necesito tener el cargador de arranque y la primera versión del firmware de la aplicación programados en la MCU antes de que enviemos el producto. Por lo tanto, estoy pensando que puedo programar el cargador de arranque en la MCU, y luego usar algún método para programar el flash externo SPI con el firmware de la aplicación y la tecla mágica.
La pregunta es ¿cómo puedo programar el extenso SPI flash? He encontrado un hilo similar aquí: " ¿Cómo escribo en SPI flash " Sin embargo, además de escribir el firmware de la aplicación de formato binario, también necesito escribir la clave mágica y la longitud del firmware de la aplicación en los primeros bytes del flash. Prefiero hacer programación en circuito si es posible.