ATmega direkt über USB und FT232R mit avrdude ISP programmieren

OP #4792975
Lesenswert?

Hallo,

kann ich z.B. den ATmega32 auf dem ES-M32 [1] von AK MODUL-BUS
direkt über USB und dem FT232R [2] auf dem Board [3] (unter Linux)
mit avrdude [4] ISP programmieren? D.h. ohne weiteren Programmer,
wie z.B. Atmel ISP mk2, und ohne Bootloader (ala Arduino) auf dem
ATmega32.

Soweit ich es verstehe, müssten die Pins 2,4,6,8 von JP3 in [3]
mit RESET, PB7 (SCK), PB6 (MISO) und PB5 (MOSI) vom ATmega32
verbunden werden und avrdude mit der Option -c  ft232r (FT232R
Synchronous BitBang) aufgerufen werden.

Außer das BitBanging langsam ist, sollte das doch funktionieren,
oder nicht.

AK MODUL-BUS bietet für Windows dafür das Programm ESM32.exe an.

[1] http://www.elexs.de/ESM32.htm
[2] http://www.ftdichip.com/Products/ICs/FT232R.htm
[3] http://www.elexs.de/ESM32Schaltbild.jpg
[4] 
http://www.nongnu.org/avrdude/user-manual/avrdude_4.html#Option-Descriptions
Persönliche Seite #4793210
Lesenswert?

Das sollte tatsächlich gehen. Erstaunlich, warum sich das noch nicht 
durchgesetzt hat, das wäre --vom Parallelportgefrickel abgesehen-- der 
einzige (?) ISP-Programmieradapter, der keinen programmierten µC 
erfordert und somit das Henne-Ei-Problem umgeht.

Hier beschreibt jemand das Vorgehen:
http://make.kosakalab.com/arduino/bootloader/index_en.html

Viel Erfolg.
Gast #4793226
Lesenswert?

Alexander S. schrieb:
> Außer das BitBanging langsam ist, sollte das doch funktionieren,
> oder nicht.

Es ist wirklich langsam.

Wenn man pro USB-Zyklus (1ms) eine Flanke erzeugt (erzeugen kann,
und das wechselweise für Daten und Clock) dann dauert das für das
Programmieren eines Chips eine halbe Ewigkeit.

Naja, für Notfälle mag das akzeptabel sein aber im normalen
Entwicklungsablauf wünscht man sich was anderes.
#4793326
Lesenswert?

Rufus Τ. F. schrieb:
> Das sollte tatsächlich gehen. Erstaunlich, warum sich das noch nicht
> durchgesetzt hat, das wäre --vom Parallelportgefrickel abgesehen-- der
> einzige (?) ISP-Programmieradapter, der keinen programmierten µC
> erfordert und somit das Henne-Ei-Problem umgeht.

Das ist bei weitem nicht die einzige Variante.
Und auch nicht die schrägste.

USB-Hub als AVR-Programmer: https://www.pjrc.com/hub_isp/

Oder mit den Keyboard-LED: 
https://hackaday.com/2012/11/26/usb-keyboard-becomes-an-avr-programmer/
Persönliche Seite #4793458
Lesenswert?

USBProgga schrieb:
> Es ist wirklich langsam.

Wenn man darauf beharrt, den nicht für Bitbanging geeigneten FT232R zu 
verwenden.

Alternativ könnte man die MPSSE des FT2232 verwenden, wie es auch in den 
OpenOCD-JTAG-Adaptern für ARMe gemacht wird.

Damit sollte das "Henne-Ei"-Problem der AVR-ISP-Selbstbau-Adapter nach 
wie vor umgangen werden können, aber die erzielbare Geschwindigkeit doch 
eher brauchbar werden.

Oder hab' ich da irgendwas übersehen?
Gast #4793474
Lesenswert?

Rufus Τ. F. schrieb:
> den nicht für Bitbanging geeigneten FT232R zu verwenden.

Sorry, aber wenn man mit dem FT232R Bitbanging machen kann
dann ist er dafür auch geeignet.

Nur wird bei dieser Chip-Familie eben gerne unterschlagen
(sowohl seitens der Erfinder/Hersteller der Chips als auch
seitens der Befürworter allgemein) welche "Vorteile" man
sich da über USB einhandelt.
Gast #4793488
Lesenswert?

Rufus Τ. F. schrieb:
> Oder hab' ich da irgendwas übersehen?

Ja. Dass du auf deinem geliebten FT2232 herumreitest.

Dass es nicht sinnvoll ist sich einen FT2232 oder ähnliches
zu holen, damit einen Programmieradapter aufzubauen und
einen ATMEL AVR zu programmieren um das Henne-Ei-Problem zu
umgehen. Dieser Weg ist nämlich wesentlich steiniger als sich
schnell mal bei ebay einen Programmieradapter zu kaufen
(dauert im schlimmsten Fall wohl drei Tage). Billiger ist
es auch noch.

Selbst wenn man den Programmieradapter mit FT2232 endlich
hat (dessen Definition noch aussteht) muss man immer noch eine
"kleine" Software schreiben um das Gerät zu bedienen.
Persönliche Seite #4793510
Lesenswert?

USBProgga schrieb:
> Sorry, aber wenn man mit dem FT232R Bitbanging machen kann
> dann ist er dafür auch geeignet.

Hast Du auch gelesen, was andere schreiben?

> Ja. Dass du auf deinem geliebten FT2232 herumreitest.
>
> Dass es nicht sinnvoll ist sich einen FT2232 oder ähnliches
> zu holen, damit einen Programmieradapter aufzubauen und

Oh, Du bist ein Held. Ganz große Klasse, ganz großes Kino.
#4793730
Lesenswert?

USBProgga schrieb:
> Selbst wenn man den Programmieradapter mit FT2232 endlich
> hat (dessen Definition noch aussteht) muss man immer noch eine
> "kleine" Software schreiben um das Gerät zu bedienen.

Nö. Das kann AVRDude seit Jahren, habe hier einen JTAGKey2 mit FT2232H 
rumfliegen und damit AVRs betankt.

FT232R kann IIRC Bitbang (schneller als 1mal pro ms, das ist hier ein 
Protokoll) aber kein MPSSE. Mit MPSSE würde man das SPI-ähnliche ISP 
relativ fix hinbekommen.
OP #4794261
Lesenswert?

Erstmal vielen Dank an alle für die Antworten.

Rufus Τ. F. schrieb:
> Hier beschreibt jemand das Vorgehen:
> http://make.kosakalab.com/arduino/bootloader/index_en.html

Danke für den Link, aber ich hoffe unter Linux geht das auch
direkt mit avrdude ohne irgend einen patch.

USBProgga schrieb:
> Selbst wenn man den Programmieradapter mit FT2232 endlich
> hat (dessen Definition noch aussteht) muss man immer noch eine
> "kleine" Software schreiben um das Gerät zu bedienen.

Eine Definition des Programmieradapters liefert doch der
Schaltplan zum ES-M32, siehe Link [3] im ersten Beitrag.
Die Software gibt es doch mit avrdude (und Option -c ft232r),
siehe Link [4] im ersten Beitrag.
Oder was meinst Du mit "Definition" und "Software"?
OP #4798740
Lesenswert?

tommy_v schrieb:
> Hier im Forum unter Projekte & Code:
>
> Beitrag "AVR FTDI ISP-Prog (AVR-8 Programmersoftware für den FT232R)"

Danke für den Link.

Auf meiner Suche nach einer direkten Ansteuerung eines ATmegas
über USB und FT232R oder FT2232H, d.h. ohne ISP-Programmer wie
z.B. AVR ISP Mk2 und ohne Bootloader, und möglichst unter Linux,
bin ich neben
http://www.r-tron.de/uatmel.htm

noch auf folgende Seiten gestoßen:
http://wesche.bplaced.net/Homepage/Version_3/index.php?section=Android_FTDI_AVR_Programmer.html
http://wesche.bplaced.net/Homepage/Version_3/index.php?section=PC_Delphi_FT2232_AtmelISP.html

http://tenthousandfailures.com/blog/2014/2/16/ftdi-ft2232-mpsse-basics

Das ES-M32 von AK MODUL-BUS hat "nur" einen FT232R und ist nicht
gerade billig. Eine Alternative als "Programmer" wäre evtl. das
FT2232H Mini Module - USB Hi-Speed Evaluation Module
http://shop.clickandbuild.com/cnb/shop/ftdichip?productID=226&op=catalogue-product_info-null&prodCategoryID=317
Gast #4799314
Lesenswert?

In der Zwischenzeit hätte ich mir längst einen gewöhnlichen ISP 
Programmieradapter gekauft. Dieser HickHack lohnt sich doch gar nicht.

> Erstaunlich, warum sich das noch nicht durchgesetzt hat

Auch die Programmierung über Kopfhörerbuchse hat sich nicht 
durchgesetzt. Dabei wäre das DIE Lösung für das Henne-Ei Problem bei 
selbst gebauten Programmieradaptern (wie z.B. dem USBASP). Mehr als ein 
Proof-of-Concept ist da leider nicht raus geworden - Schade.
Gast #4799554
Lesenswert?

Ja geht, aber mit vielen Nachteilen. Wer Geld für eine USB Buchse, ein 
USB Kabel und ein ISP-Kabel hat, sollte sich auch einen Mikrocontroller 
leisten können - also einen richtigen Programmieradapter. Wenigstens 
einen USBASP, wenn's schon billig sein soll.
Gast #5067919
Lesenswert?

Ich taue mal einen nicht allzu alten Thread wieder auf.

Hat das ganze von der Community hier schonmal jemand ausprobiert ob das 
funktioniert?
Der Link http://make.kosakalab.com/arduino/bootloader/index_en.html 
worin das ganze auf WinXP mit nem FT232RL gemacht wird ist ja schon 
relativ alt.

Und es wäre für mich imho interessant ob da jemand noch irgendwas zu 
sagen kann, Erfahrungen, Fehlschläge egal....finde es relativ 
Interessant das Thema
Gast #5067951
Lesenswert?

Funktioniert, ist aber unglaublich langsam.
Nimm lieber einen FTDI mit MPSSE.
Damit und avrdude lässt sich ein AVR in null komma nix programmieren
und du brauchst dafür auch kein anderes Programmiergerät oder 
Bootloader.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren