Forum: Mikrocontroller und Digitale Elektronik NXP LPC11Axxx - ISP Programmierung über FTDI


von Artur (Gast)


Lesenswert?

Hallo, ich würde gerne den ROM bootloader benutzen, um den LPC zu 
programmieren. Es gibt dazu eine Software, die sich Flash Magic nennt. 
Dort werden die beiden Leitungen DTR und RTS benutzt, um den uC in den 
ISP Modus zu versetzen. Ich habe leider keine brauchbar Infos gefunden, 
ob man die Leitungen beim FTDI extern extra beschalten muss, mit z.B. 
Invertern. Hat jemand diesbezüglich schon Erfahrung gemacht?

von Dumpf Backe (Gast)


Lesenswert?

Du sprichst wirres Zeug.

ISP und Bootloader, das passt nicht zusammen.

Flash Magic soll jeder kennen?

Artur schrieb:
> beim FTDI

Es gibt nur einen? Den kennen wir alle. Oder etwa nicht?
"Der FTDI", das ist eine grosse Firma .... oder eine
Chip-Familie. Du meinst aber wohl irgendeine Schaltung?

von Artur (Gast)


Lesenswert?

Dumpf Backe schrieb:
> Du sprichst wirres Zeug.
> ISP und Bootloader, das passt nicht zusammen.
Nennen die selbst bei NXP so. ISP & IAp läuft über den ROM Bootloader.

NXP Semiconductors produce a range of Microcontrollers that feature both 
on-chip Flash memory and the ability to be reprogrammed using In-System 
Programming technology.
Flash Magic is Windows software from the Embedded Systems Academy that 
allows easy access to all the ISP features provided by the devices. 
These features include:
# Erasing the Flash memory (individual blocks or the whole device)
# Programming the Flash memory
# Modifying the Boot Vector and Status Byte
# Reading Flash memory
# Performing a blank check on a section of Flash memory
# Reading the signature bytes
# Reading and writing the security bits
# Direct load of a new baud rate (high speed communications)
# Sending commands to place device in Bootloader mode

Dumpf Backe schrieb:

> Flash Magic soll jeder kennen?
Mein Thread war nicht an Jeden gerichtet.


> beim FTDI
> Es gibt nur einen? Den kennen wir alle. Oder etwa nicht?
FTDI232RL, wenn du es genauer wissen möchtest.

von Stefan_h (Gast)


Lesenswert?

Hallo,

Ich nutze die Konfiguration zum Flashen von einem LPC2148 und haben nur 
je einen PullUp auf den leitungen DTR und RTS. Das funktioniert 
wunderbar, sollte beim LPC11Axxx nicht anders sein.

lg
Stefan

von Artur (Gast)


Lesenswert?

Stefan_h schrieb:
> Hallo,
>
> Ich nutze die Konfiguration zum Flashen von einem LPC2148 und haben nur
> je einen PullUp auf den leitungen DTR und RTS. Das funktioniert
> wunderbar, sollte beim LPC11Axxx nicht anders sein.
>
> lg
> Stefan

Cool Danke dir, probiere ich aus.

von Lothar (Gast)


Lesenswert?

Artur schrieb:
> sollte beim LPC11Axxx nicht anders sein

Du brauchst nur eine Null-Modem Verbindung zum FTDI also TX, RX, GND 
sonst nichts. Der Bootloader wird mit dem ISP Pin gestartet also P0.1 
auf GND und dann Strom an bzw. RESET. Der FTDI kann den LPC auch mit 
Strom versorgen.

Dumpf Backe schrieb:
> ISP und Bootloader, das passt nicht zusammen

Nur weil Atmel ihr ICP über SPI fälschlicherweise als ISP bezeichnet hat 
ist es das nicht. Bei allen anderen ist ISP eine Kommunikation mit einem 
Monitor-Programm, typischerweise über UART, der Monitor heisst heute 
Bootloader, und ist bei den LPC werksseitig in einem ROM. Hat also 
nichts zu tun mit einem Arduino-Bootloader, der zuerst per ICP geflasht 
werden muss.

von W.S. (Gast)


Lesenswert?

Artur schrieb:
> Ich habe leider keine brauchbar Infos gefunden,
> ob man die Leitungen beim FTDI extern extra beschalten muss, mit z.B.
> Invertern. Hat jemand diesbezüglich schon Erfahrung gemacht?

Ja. ich benutze die Bootlader bei den LPC's schon seit langem.

Also,
Variante 1:
Du hast einen MAX232 o.ä. an deinem UART0 des LPC dran, weil du per V.24 
mit deinem µC kommunizieren willst.

Dann brauchst du an DTR und RTS jeweils eine Kombination aus einem 
NPN-Transistor und einem Vorwiderstand. Vom Signal (DTR oder RTS) kommt 
der Widerstand, 22k oder so reicht völlig aus, geht an die Basis des 
Transistors. Emitter kommt auf GND. Kollektor geht an deine Schaltung. 
Dort hast du /BOOT und /RESET, jeweils mit einem Widerstand auf VCC 
gezogen. An diese gehst du mit den Kollektoren deiner Transistoren. Das 
war's. RxD und TxD gehen natürlich an die entsprechenden Anschlüsse des 
MAX232 und du kannst (aus Angstgründen) in jede Leitung ruhig 470 Ohm 
einschleifen.

Variante 2:
Du hast keinen MAX232 o.ä. an deinem µC dran.

Dann gehen vom FTDI-Chip RxD und TxD (5V bzw. TTL-Pegel) direkt an die 
entsprechenden TxD und RxD deines µC, wenn du willst, eben auch über 
eingeschleifte 220..470 Ohm. Ebenso gehen DTR und RTS an /BOOT bzw. 
/RESET, ebenso wenn du willst über 220..470 Ohm. Kommt auf deine 
Hochzieher an.

Du kannst im FlashMagic die Zeiten für /Reset und /Boot manuell 
einrichten, so daß du testeshalber selbige so lang machen kannst, daß du 
sie per Multimeter nachmessen kannst.

W.S.

von Jim M. (turboj)


Lesenswert?

W.S. schrieb:
> FTDI-Chip RxD und TxD (5V bzw. TTL-Pegel)

Die FTDI Chips kann man auch direkt für 3,3V auf diesen Leitungen 
verschalten, das ist für LPX1XXX besser geeignet.

von u8g2 (Gast)


Lesenswert?

Ich bin mir nicht ganz sicher ob es eine Windows version gibt, aber ich 
hab lpc21isp bisher recht erfolgreich zum Flashen verwendet:

https://sourceforge.net/projects/lpc21isp/

Entgegen dem Namen läuft es auch prima mit dem LPC11xx.

Grüße,
Oliver

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.