Es fällt mir wirklich schwer, meinen LPC1343 mit der in dieser Frage erwähnten Methode zu programmieren ( Kann ein LPC1343 sein ursprüngliches Programm über USB akzeptieren? ).
Ich verwende eine Linux-Maschine und arm-none-eabi-gcc. Ich habe meinen Code erfolgreich kompiliert, um eine LED zu blinken, und dann bekomme ich meine .elf-Datei und verwende arm-none-eabi-objcopy, um sie in das endgültige Format zu konvertieren. Dann bekomme ich diese Datei auf einen USB-Stick und in eine Windows-Maschine, und dort kopiere ich sie über die USB-Schnittstelle auf meinen LPC1343.
Mein Problem ist, dass, nachdem ich den Chip ausschalte und in den Run-Modus gehe, er automatisch wieder in den USB-Bootloader-Modus zurückkehrt, was bedeutet, dass er die Datei nicht erkannt hat. Folgende Formate habe ich probiert:
Hat jemand diesen Chip erfolgreich über USB vorprogrammiert? Wenn ja, welches Dateiformat wurde verwendet?
Die Datei ist eine reine Binärdatei. Die ersten vier Bytes sind also der anfängliche Stapelzeigerwert, die nächsten vier Bytes sind der anfängliche Programmzähler, und die Interrupt-Vektoren folgen. Als Beispiel sind hier die ersten 32 Bytes einer bekanntermaßen funktionierenden Datei:
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
Das an Adresse 0x1C (siebtes Wort) gespeicherte Wort ist eine Prüfsumme der ersten sechs Wörter. Siehe Abschnitt 21.7 im LPC13xx-Benutzerhandbuch für Einzelheiten. Beim LPC1343 hat die Datei genau die gleiche Größe wie der Flash: 32768 Bytes.
Chris Stratton
sternenblau
Elektropfeffer
Ricardo
Elektropfeffer