avr fuse bits - Page 2

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From German to

Threaded View
Re: avr fuse bits
Aguja schrieb:

Quoted text here. Click to load it

Mal eine ernsthafte Frage: Wie programmiere ich dann über die serielle
Schnittstelle? Ein Open Source-UNIX-Tool, das /dev/ttyS0 nutzt und keinen
Direktzugriff auf die Hardware wagt. Wie ist das eigentlich bei avrdude und
uisp? Nutzen die parport.o oder greifen die direkt zu?

Gruß
Henning
--
henning paul home:  http://www.geocities.com/hennichodernich
PM: snipped-for-privacy@gmx.de , ICQ: 111044613


Re: avr fuse bits
Quoted text here. Click to load it

Kein Mensch greift direkt auf die Hardware zu (das ist boese!).
Mit RS-232 hat man unter keinem UNIX ein Problem. Fuer IEEE-1284 benutzt
man unter Linux die "/dev/parportX" devices fuer die der ppdev
Kerneltreiber zustaendig ist (der wiederum parport benutzt).


Micha
-- =

Liebes GMX-Mitglied,
Ihre aktuelle Mailboxgroesse betraegt jetzt 21841 von 20480 KByte.
[...]
We've slightly trimmed the long signature. Click to see the full one.
Re: avr fuse bits
Michael Baeuerle schrieb:

Quoted text here. Click to load it

Gibt genügend Win32-Soft, die das macht.

Quoted text here. Click to load it

Ja, aber einen unixoiden Programmer außer PonyProg, der über die serielle
funzt, hab' ich noch nicht gefunden. Und das ist mir halt wichtig.

Gruß
Henning
--
henning paul home:  http://www.geocities.com/hennichodernich
PM: snipped-for-privacy@gmx.de , ICQ: 111044613


Re: avr fuse bits
Am Tue, 10 Feb 2004 17:41:32 +0100 schrieb Henning Paul:

Quoted text here. Click to load it

Warum nicht einfach ein AN910-Programmer mit uisp? Damit
programmiere ich meine AVRs unter Linux problemlos.

MfG
Jan

--
Jan Reucker
email: jan dot reucker at web dot de
We've slightly trimmed the long signature. Click to see the full one.
Re: avr fuse bits
Jan Reucker schrieb:

Quoted text here. Click to load it

Muß ich mir mal angucken. Läuft aber wohl nicht auf no-parts hinaus,
befürchte ich.

Gruß
Henning
--
henning paul home:  http://www.geocities.com/hennichodernich
PM: snipped-for-privacy@gmx.de , ICQ: 111044613


Re: avr fuse bits
Henning Paul schrieb:

Quoted text here. Click to load it

Jo, sieht ganz gut aus, müsste wohl auch mit einem USB-Seriell-Konverter
funktionieren. Müsste ich allerdings meine ISP-Header mit Vcc auf Pin 2
versehen, um den Programmer zu versorgen. Und ich habe gerade keinen
unverbastelten 2313 im Hause (habe mir gleich die erweiterte Version
angeguckt), keinen passenden Quarz. Und um das Programm entsprechend
umzuschreiben müsste ich mir noch den AVRASM ziehen, der avr-as braucht ja
eine andere Syntax.
Nehm ich mir mal vor, wenn ich Zeit und Lust habe.

Gruß
Henning
--
henning paul home:  http://www.geocities.com/hennichodernich
PM: snipped-for-privacy@gmx.de , ICQ: 111044613


Re: avr fuse bits

(AVR910 Programmer)

Quoted text here. Click to load it


Eher gruselig.  AVR910 ist ein dummes request-response Protokoll, das
schon durch UART-FIFOs in der Performance einbricht.  Mit einem
paketorientierten Netzwerkprotokoll wie USB verträgt sich das ganz
schlecht.
--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
We've slightly trimmed the long signature. Click to see the full one.
Re: avr fuse bits

Quoted text here. Click to load it

Oh, welch niederschmetternde Beurteilung. Und dann auch noch daneben
gegriffen:
Der Ziel-uC kann aufgrund der Flash-Technik nur byte- oder blockweise
Daten schreiben. Dazwischen ist immer wieder Pause. Der ganze Transfer
ist also in seiner Mindestdauer unveränderlich. Da beim AN910 Programmer
schon das letzte bisschen Speed herausgeholt wird, in dem er
kontinuierlich die Freigabe für das nächste Byte abpollt, ist da in
sachen Speed wirklich nichts mehr zu machen. Wenn AN910 nun ( ich habe
mir die Sourcen noch nicht angesehen) schon wärend des Pollens das
nächste Byte oder den nächsten Block über die Serielle anfodert, dann
ist auch das Optimum in der Übertragung ausgereitzt. Dass der USB diese
Daten anstelle mit 115200 auch xmal so schnell übertragen könnte spielt
dabei keine Rolle, da die Daten nicht schneller verarbeitet werden
können. Ein Auto wird nun mal nicht schneller, wenn ich seinen Tank
vergrößere.

Das Einfachste wäre nun, den AN910 Programmer mit einem FTDI FT232BM zu
versehen und dann kann man das Teilchen auch direkt am USB betreiben.
Fertig. Für Leute die sich das Ding selber löten dürften die 9EUR für
den FTDI billiger sein, als 20-50EUR für einen Adapter.

Gruß,

Ulrich

Re: avr fuse bits

Quoted text here. Click to load it


Glaub' mir: Jörg weiß, wovon er redet...

Das Problem ist, daß beim AVR910 jeweils nur 1-2 (selten auch 3) Bytes
aufmal übertragen werden. Damit es weiter geht, muß erst eine
Bestätigung zurückkommen.

Man muß damit rechnen, daß sowohl der PC als auch der
USB-Seriell-Konverter, das Packet nicht sofort losschicken, da ja so
wenig drinsteht.

Selbst wenn man die beiden durch Konfiguration überredet kriegt, hat
USB eine Beschränkung bezüglich der Frequenz, mit der Packete
gesendet werden dürfen. Wenn ich mich richtig erinnere, war das alle
10ms ein Packet.

Auch bei der seriellen Schnittstelle gibt es große Probleme mit
Latenzzeiten, da nach Empfang der Bestätigung nicht sofort ein
Interrupt auf dem PC ausgelöst wird. Erst wenn man den Empfangs-FIFO
umkonfiguriert, ergeben sich Zeiten in der Nähe des theoretischen
Minimums.

BTW: Unter Linux ergeben sich noch weitere Verzögerungen, die sich
aber auch wegkonfigurieren lassen.

Quoted text here. Click to load it

Wenn es etwas gibt, was schlechter ist als das Protokoll, dann ist es
sicherlich die Implementierung von Atmel ;-(

Viel Spaß beim Lesen
  Jan-Hinnerk


Re: avr fuse bits
Jan-Hinnerk Reichert schrieb:

Quoted text here. Click to load it

Es gibt eine erweiterte Version für einen AT90S2313, die den Hardware-UART
nutzt, gleich als ersten oder zweiten Treffer, wenn man nach "AN910"
googelt. Ich weiß ja nicht, wie's damit aussieht.

Was bleibt denn jetzt als brauchbarer serieller AVR-Programmer?

Gruß
Henning
--
henning paul home:  http://www.geocities.com/hennichodernich
PM: snipped-for-privacy@gmx.de , ICQ: 111044613


Re: avr fuse bits

Quoted text here. Click to load it

Irgendwas, was STK500 Protokoll spricht. ;-)

Leider gibt's davon m. W. keine freien Clones.  Da das Atmel AVR ISP
für um die EUR 50 zu haben ist (Segor 54, Reichelt 48), lohnt
wahrscheinlich der Aufwand für das Re-engineeren auch nicht so sehr
wie beim JTAG ICE.

--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
We've slightly trimmed the long signature. Click to see the full one.
Re: avr fuse bits
Quoted text here. Click to load it

Bleibt trotzdem Pfusch. Hat auch den Nachteil, dass das AFAIK nur "root"
machen darf.

Quoted text here. Click to load it

Was verstehst du unter "Programmer" - Die Hardware oder die Software?

Das mit dem IEEE-1284 ist ja meistens nur deswegen ein Problem, weil die
Hardware nicht spezifikationsgemaess arbeitet und irgendwelche
Stteuerleitungen zweckentfremdet zur Datenuebertragung missbraucht
werden (wie beim STK200/300).

RS-232 Programmer (die Hardware) wie AVR910 oder STK500 arbeiten
normalerweise konform und koennen daher unter UNIX schoen und
platformunabhaengig per POSIX termios + file I/O angeprochen werden.
Natuerlich koennte man da auch die Steuerleitungen vergewaltigen ...
aber das waere auch boese!


Micha
-- =

Liebes GMX-Mitglied,
Ihre aktuelle Mailboxgroesse betraegt jetzt 21841 von 20480 KByte.
[...]
We've slightly trimmed the long signature. Click to see the full one.
Re: avr fuse bits
Michael Baeuerle schrieb:

Quoted text here. Click to load it

Software, die mit einem no-parts-Dongle funktioniert. :-)

Quoted text here. Click to load it

Aber wenn das herumpfuschen an Parport-Steuerleitungen auch böse ist,
kommt's darauf doch auch nicht mehr an. ;-) PonyProg benutzt TxD für Reset,
DSR/RTS gebrückt für SCK, DTR für MOSI, CTS für MISO.
Und ich "brauche" halt die Hotplugfähigkeit der seriellen Schnittstelle.

Gruß
Henning
--
henning paul home:  http://www.geocities.com/hennichodernich
PM: snipped-for-privacy@gmx.de , ICQ: 111044613


Re: avr fuse bits

Quoted text here. Click to load it

Was ist daran "hotplugfähiger" als an der parallelen?

Beide Schnittstellen kannst Du schrotten, wenn Du an Deinem Target
Müll machst.  OK, wenn Du bei der seriellen Glück hast, wechselst Du
auf Deinem Mainboard ,,nur'' einen GD75232. :-)

Deine Forderung nach `no parts programmer' beißt sich ein wenig mit
der nach maximaler Sicherheit.  Je mehr Bauteile zwischen Target und
Rechner liegen, um so größer wird die Wahrscheinlichkeit, daß diese
dazwischenliegenden Bauteile als Sicherung wirken, wenn Dir mal die
+30 V Leitung auf das Target fällt oder sowas.  Ein
Parallelportprogrammer mit 'nem 74367 ist simpel und wirksam, für mehr
Sicherheit halt ein AVR910 (bei dem man aber aufgrund des dummen
Protokolls möglichst den UART-FIFO abschalten sollte).

Jörg, der *toi toi toi* bislang seinen Toshiba Libretto noch nicht
mit geschrottet hat auf diese Weise. ;-)
--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
We've slightly trimmed the long signature. Click to see the full one.
Re: avr fuse bits
Joerg Wunsch schrieb:

Quoted text here. Click to load it

Naja, auf dem Papier soll es ja noch Kurzschlußstrombegrenzung etc geben.

Und der Vorteil: Über 5m RS232-Verlängerung funktioniert noch alles
einwandfrei.

Quoted text here. Click to load it

Die AN910 sieht ja ganz ok aus.

Gruß
Henning
--
henning paul home:  http://www.geocities.com/hennichodernich
PM: snipped-for-privacy@gmx.de , ICQ: 111044613


Re: avr fuse bits

Quoted text here. Click to load it

Eher Zufall.  Wenn Du die Portpins für dasselbe bit-banging
mißbrauchst, wie das sonst am Parallelport gemacht wird, brauchst Du
bei langen Leitungen auch kein besseres Verhalten zu erwarten.
(Anders gesagt: dreh' das Parallelport-Bitbanging genauso langsam, und
es sollte über ähnlich lange Leitungen gehen. ;-) OK, RS-232 hat
leicht höhere Pegel, aber Du benutzt die Pegel ja ohnehin nicht RS-232
konform.  IIRC, selbst V.24 war nur auf 5 m garantiert (bei 9600 Bd?)
;-)

--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
We've slightly trimmed the long signature. Click to see the full one.
Re: avr fuse bits
Quoted text here. Click to load it

Ack. Aber es geht ja auch anders ...

Quoted text here. Click to load it

Brrr ... Also so kompliziert ist ein AVR910 doch auch wieder nicht zu
bauen als dass man so murksen muss, oder?

Quoted text here. Click to load it

Die hat ja jede RS-232 Hardware.


Micha
--
Wer sagte das doch noch mal: Er koenne garnicht so viel essen, wie er
kotzen koenne?
We've slightly trimmed the long signature. Click to see the full one.
Re: avr fuse bits
Am Wed, 11 Feb 2004 12:53:05 +0100 schrieb Michael Baeuerle:

Quoted text here. Click to load it

Er hat als Nachteil allerdings das Henne<-->Ei-Problem. Man
muss einen 2313 programmieren, um den Programmer zu bauen.
Also muss man sich ohnehin erstmal einen no-parts-Programmer
bauen, quasi als "Starthilfe". Und viele bleiben dann wohl
gleich dabei, weil es eben schon funktioniert.

MfG
Jan

--
Jan Reucker
email: jan dot reucker at web dot de
We've slightly trimmed the long signature. Click to see the full one.
Re: avr fuse bits

Quoted text here. Click to load it

Unter Linux öffnet avrdude /dev/parport und benutzt ioctl() für die
Zugriffe. Geht also ohne Schweinkram. Ebenso unter FreeBSD, nur heißt
das device da anders.

Die Windows-Variante ist da nicht so zimperlich. Da wird über
giveio.sys der Zugriff auf die I/O-Register freigeschaltet.

Serielle no-parts-programmer unterstützt avrdude nicht. Ist aber auch
mal 'ne Idee für ein neues Feature ;-)

Serielle Leitungen sollten eigentlich auch über ioctl() gehen.
Eine Liste aller ioctls gibt es mit
# man ioctl_list

TIOCMxxx sehen ganz vielversprechend aus. Habe aber aus dem
Kernelsource (drivers/char/serial.c) noch keine Dokumentation
gesehen. Falls Du was rausfindest, würde mich das auch interessieren.

/Jan-Hinnerk

PS: email-Adresse ist gültig


Re: avr fuse bits

Quoted text here. Click to load it

Ja, das sind die zugehörigen.

Quoted text here. Click to load it

Das Include-File sollte als Doku genügen :-), ggf. noch in Kermit
oder sowas gucken.  Hab' gerade mal in einem Linux nachgeguckt:

/usr/include/asm/termios.h:#define TIOCM_DSR    0x100

usw. usf.  Beim FreeBSD sind die Bitwerte andere, aber die Namen
dieselben.

Allerdings ist das vermutlich noch ein wenig langsamer als die
parport/ppi Geschichte.
--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
We've slightly trimmed the long signature. Click to see the full one.

Site Timeline