Cómo escribir un flash SPI

1

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.

    
pregunta eepty

1 respuesta

1

Oh, tal vez carga un programa a través de jtag del mcu y haz que haga el trabajo Bit bang con escaneo de límites, diseñe su tarjeta con un encabezado para mantener mcu en restablecer o aislar spi bus si es necesario y programarlo directamente con algo como este USB para spi decice (viene con la API c para el host).

Puede solicitar las partes flash preprogramadas de cualquier distribuidor, puede comprar un programador de pandillas o usar los enchufes en mi enlace de arriba para programarlos usted mismo antes de adjuntarlos.

Si estás haciendo ict, puedes hacerlo como parte de la prueba al final de la línea. Para la reprogramación de alto volumen, incluso he visto a gente hacer pequeños dispositivos de programación que simplemente puede enchufar en su tarjeta presionando un botón y dejar que se reprograme. La lista sigue y sigue, solo depende de cómo quiera manejarlo.

Esto no debería ser demasiado difícil con un poco de planificación.

    
respondido por el Some Hardware Guy

Lea otras preguntas en las etiquetas