Programa LPC1343 a través del cargador de arranque USB con el formato correcto de ARCHIVO

1

Estoy teniendo dificultades para programar mi LPC1343 con el método mencionado en esta pregunta ( ¿Puede un LPC1343 aceptar su programa inicial a través de USB? ).

Estoy usando una máquina Linux y arm-none-eabi-gcc. Compilé con éxito mi código para parpadear un led, y luego obtengo mi archivo .elf y utilizo arm-none-eabi-objcopy para convertirlo al formato final. Luego coloco ese archivo en una memoria USB y en una máquina con Windows, y ahí lo copio en mi LPC1343 a través de la interfaz USB.

Mi problema es que después de apagar el chip y entrar en el modo de ejecución, vuelve nuevamente al modo de cargador de arranque USB, lo que significa que no reconoció el archivo. He probado los siguientes formatos:

  • elf32-littlearm
  • elf32-bigarm
  • elf32-little
  • elf32-big
  • plugin
  • srec
  • symbolsrec
  • verilog
  • tekhex
  • binario
  • ihex.

¿Alguien ha programado con éxito este chip a través de USB? Si es así, ¿qué formato de archivo se usó?

    
pregunta Electropepper

1 respuesta

5

El archivo es un archivo binario directo. Por lo tanto, los primeros cuatro bytes son el valor del puntero de pila inicial, los siguientes cuatro bytes son el contador del programa inicial y los vectores de interrupción siguen. A modo de ejemplo, aquí están los primeros 32 bytes de un archivo que se sabe que está bien:

00 08 00 10 99 3c 00 00 21 40 00 00 25 40 00 00
29 40 00 00 2d 40 00 00 31 40 00 00 9a 7a fe ef

La palabra almacenada en la dirección 0x1C (séptima palabra) es una suma de comprobación de las primeras seis palabras. Consulte la sección 21.7 en el Manual del usuario de LPC13xx para obtener más información. Para el LPC1343, el archivo es exactamente del mismo tamaño que el flash: 32768 bytes.

    
respondido por el Joe Hass

Lea otras preguntas en las etiquetas