Die verschiedenen LPC-Mikrocontroller-Chips verfügen über einen Startmodus, der die serielle Kommunikation akzeptiert und das empfangene Programm in Flash schreibt. Ich möchte eine Leiterplatte mit und LPC1114 herstellen , die in der Schaltung programmiert werden muss, mit nur minimalen Schnittstellenschaltungen auf der Leiterplatte. Gibt es einen Standardanschluss für die Versorgung der erforderlichen Signale (GND, RxD, TxD, Reset, BootModeEnable)?
microcontroller
lpc
icsp
in-circuit
Wouter van Ooijen
quelle
quelle
Antworten:
Ich benutze Sparkfuns USB-zu-UART-Karte. Ich bringe UART0 heraus, setze zurück und isp zu Headern. Ich verbinde Reset und ISP mit Jumpern mit Masse und benutze dann FlashMagic. Dies scheint nur dann richtig zu funktionieren, wenn ich das Gerät auch über USB mit Strom versorge, sodass die Gründe häufig sind.
Sparkfuns Board:
https://www.sparkfun.com/products/718
quelle
Wenn Sie einen Stecker so einrichten, dass er mit der Header-Version eines seriellen Niederspannungs-FTDI-USB-Kabels kompatibel ist, müssen Sie keine Verträge für die Herstellung kundenspezifischer Kabel abschließen.
Sie können den Startmodus von einer Statuszeile aus steuern und den Reset mit einer Kappe an diesen koppeln (ich glaube, ich habe einen Transistor als Wechselrichter verwendet, als ich dies mit einem ST-Teil getan habe). Durch Deaktivieren und erneutes Auswählen des Startmodus wird der Chip zurückgesetzt und für den Download vorbereitet.
quelle
Da es keinen Standard zu geben schien, traf ich meine eigene Wahl: einen rechtwinkligen 2x4-Stiftkopf für die Zielplatine und eine ebenso weibliche Buchse für die Programmierplatine. Der Programmierer verfügt über einen FT232RL oder ähnliches, einen 5V-> 3,3V-Regler und einen Schalter zum Deaktivieren der Stromversorgung der Zielplatine (erforderlich, um den Zielchip in den Programmiermodus zu zwingen, wenn der Reset-Pin als GPIO neu bestimmt wurde).
Pinbelegung des Steckers
Schaltplan des Programmiergeräts ('Dongle')
Programmierer mit einer minimal bestückten LPC1114-Zielplatine.
Ich verwende lpc21isp als Programmiertool auf dem PC (Open Source, einfach für Windows oder Linux kompilierbar), musste aber dem Code eine Zeile hinzufügen, da die Anwendung nach einem Download gestartet wird (zum Anfang des Codes springen). funktioniert nicht für einen Cortex.
quelle
Ich habe vorher nicht mit LPC1114 gearbeitet, aber schauen Sie sich die folgende Adresse an. Links sehen Sie einen Link zu einer Schaltplandatei ...
http://www.keil.com/mcb1000/
quelle
Ich baue tatsächlich etwas mit dem gleichen Mikro. Ich habe gerade eines davon aufgenommen: http://ics.nxp.com/lpcxpresso/ für ~ 20 US-Dollar von digikey, die "Ziel" -Seite der Platine abgeschnitten und einen benutzerdefinierten Anschluss auf der "LPC-Link" -Seite verkabelt mit meinem Programmierheader arbeiten. Die von CodeRed erstellte Umgebung ist ärgerlich, da sie auf Eclipse basiert (ich hasse Eclipse), aber sie funktioniert unter Windows, Linux und möglicherweise Mac. Sie haben Anweisungen für alle Befehlszeilenprogramme, um mit der LPC Link-Schnittstelle zu arbeiten.
Ich habe eine Umgebung unter Linux eingerichtet, die nur ausgeführt werden soll.
make dl
Sie initialisiert die Verbindung, programmiert sie und aktiviert Sicherheitsbits, alles über USB- und SWD-Verbindungen zum LCP1114. Kann sogar zum Debuggen verwendet werden, sofern Sie eines der SWD-Signale nicht wiederverwenden.Es ist nicht seriell, wie Sie es suchen, aber es funktioniert wie ein Zauber.
quelle
Wenn Sie eine serielle Programmierung mit dem Standardanschluss (dh RS232) wünschen, warum implementieren Sie nicht einen normalen UART (MAX3232 oder so) mit einem Standard-DB9-Stecker auf der LPC-Seite? Dann verwenden Sie einfach das Extender-DB9-Kabel (Stecker zu Buchse) zum PC (oder verwenden Sie das Seriell-zu-USB-Kabel, wenn Ihr PC keinen seriellen Anschluss hat). Stecken Sie auf jeden Fall eine DB9-Buchse auf Ihre SPS-Karte, und Sie müssen niemals Ihr serielles Kabel herstellen :-). Vergessen Sie nicht, die Stifte richtig zu verdrahten. Die Verlängerungskabel sind gerade (1-1, 2-2, ... 9-9).
Wenn der Platz auf der Platine nicht ausreicht (nicht genügend Platz für DB9), können Sie nur einen 2 x 5-Pin-Header bereitstellen.
Natürlich können Sie auch Ersatz-MAX3232-Level-Shifter verwenden, um Ihr Board in den Reset / Boot-Modus zu zwingen, wie ich es auf meinem NXP / AT89C51Rx2-basierten Board auch mit Flashmagic getan habe. Nach dem gleichen Prinzip übernimmt der Falshmagic die Kontrolle über den Starteintrag über die serielle Leitung.
Alles in allem würde ich mich für SWD / JTAG entscheiden und hatte Debugging zur Verfügung.
quelle