AVR unter Linux programmieren

Hallo zusammen.

Ich würde gerne einen AVR unter Linux programmieren. Leider habe ich keine Ahnung davon, wie ich dies machen soll.

Ich habe vor längerer Zeit einmal einen AVR unter Windows mit einem kleinen Testprogramm programmiert. Damals wurde das AVR-ASM Programm (AVR-Studio) verwendet zum Programmieren. Um das Programm zum AVR zu übertragen kam PonyProg nebst einem selbstgebauten LPT Programmieradapter zum Einsatz.

Nun interessiert es mich, ob es ein ähnlich gutes Programm für AVR-Programmierung unter Linux gibt. Am besten ebenfalls mit einer guten Online Hilfe, Simulator, etc. Dazu wird dann noch ein Programm benötigt, um den AVR zu programmieren.

Dazu gibt es noch zu sagen, dass es gerne AVR-ASM sein darf, als Programmiersprache. Eine willkommene Alternative dazu wäre AVR-C.

Wichtig wäre mir eine komfortable Entwicklungumgebung dafür. Textdateien mit Editor schreiben, und dann dem puren GCC zu arbeiten, ist etwas umständlich/unkomfortabel, und ich muss dazu sagen, mir ist es noch nicht gelungen, AVR-Code mit GCC zu erzeugen.

Vielleicht kann man das AVR-Studio auch mit Wine verwenden? Hat da jemand Erfahrungen?

Aber vielleicht kann mir ja jemand ein gutes Programm zum AVR Programmieren unter Linux empfehlen. (AVR-ASM oder C)

Für Tipps, was es sonst noch dabei zu beachten gilt, wäre ich ebenfalls dankbar.

--
PAN News-Client
.
.
Reply at: oliver_at_technikweb_dot_com
Reply to
Oliver Brill
Loading thread data ...

AVR-C kenne ich nicht, aber AVR-GCC ist bereits erfunden... Mit asl hast du einen eigenen Assembler, der auch noch einige andere Chips unterstützt. Google mal nach Alfred arnold asl.

Ich arbeite mit emacs, ein makefile reicht eigentlich immer.Komfortabel ist das auch, er hat aber keine Hilfefunktion für den avr.)

hth

Robert

Reply to
R.Freitag

Oliver Brill schrieb:

Zum reinen Programmieren des Chips gibt es z.B. avrdude. Ist aber Kommandozeile.

gdb + simulavr mit $GUIFÜRGDB avrdude

Mit deinem normalen GCC unter Linux wird das auch nicht gehen. Du mußt den GCC mit dem AVR als Target übersetzen. Wie das geht steht z.B. hier:

formatting link

Als Asembler könntest du den GNU as aus den binutils (siehe oberen Link zur Installation) oder den as von Alfred Arnold

formatting link
verwenden.

Wenns den unbedingt eine IDE sein muß könntest du z.B. auf Eclipse oder KDevelop zurückgreifen. Da dürften sich die avr Tools auch integrieren lassen.

Mir persönlich reicht aber ein guter Editor und make.

--
Matthias Weißer
matthias@matwei.de
http://www.matwei.de
Reply to
Matthias Weißer

Scheitert schon am Installer. MFC läßt grüßen.

VMLAB läuft (ganz brauchbar) unter Wine, allerdings kostet das Geld. Zusammen mit GCC unter Unix läßt es sich ohnehin nicht selbständig als ,,IDE'' benutzen, sonder nur als Simulator (dafür aber ein recht guter), compiliert wird extern. Aber IDEs für Unix gibt es wie Sand am Meer, manche zählen ja schon den vi dazu :), vim und Emacs gehören auf jeden Fall in diese Klasse (wenn Du da nicht zustimmst, dann kennst Du sie vermutlich nur nicht richtig), dann noch xwpe sowie all die schon genannten Verdächtigen.

Ich möchte jedenfalls mein FreeBSD für die AVR-Softwareentwicklung nicht mal ansatzweise gegen Winzigweich eintauschen, AVR Studio hin, AVR Studio her.

--
J"org Wunsch					       Unix support engineer
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j/
Reply to
Joerg Wunsch

Hallo Oliver

Ich benutze für meine ATmega64er ein SuSE mit:

formatting link
avr-binutils-2.14-1.i386.rpm avr-gcc-3.3.1-1.i386.rpm avr-libc-1.0-1.i386.rpm

formatting link
uisp-20030618-1.i386.rpm

Und Verbunden mit:

formatting link

Das c Programm entsprechend der Anleitung "avr-libc-user-manual.pdf" erstellen.

Die Befehle heissen: avr-gcc -g -mmcu=atmega64 -c flashled.c && avr-gcc -g -mmcu=atmega64 -o flashled.elf flashled.o && avr-objcopy -j .text -j .data -O ihex flashled.elf flashled.hex

Zum Löschen: uisp -dlpt=/dev/parport0 --erase -dprog=stk200

Zum Beschreiben: uisp -dlpt=/dev/parport0 --upload if=flashled.hex -dprog=stk200 -v=3 --hash=32

Achtung da ist noch eine böse Falle: Ab Werk ist der 64er reduziert auf einen Atmega103, dieses Einstellungsbit muss pro Chip nur ein einziges mal beim ISP gelöst werden:

uisp -dlpt=/dev/parport0 --wr_fuse_e=0xff --wr_fuse_l=0xef --wr_fuse_h=0x99

--upload if=flashled.hex -dprog=stk200 -v=3 --hash=32

=M103C fuse - Extended Fuse Byte(EFB): M103C(Bit1) 1 ATmega103 compatibility mode 0 (programmed) --> 1 (unprogrammed) = 0xff (Watchdog off!)

Die Fuses nur 1x während dem Programmieren setzen, sie werden nicht gelöscht !

Eine IDE und Debugger lohnt sich kaum, ein Editor mit Syntax-highlighting (=farbig) reicht mir. Wenn es aber IDE sein muss, würde ich mir den KDevelop mal ansehen.

Hoffe das hilft dir. Ich möchte eine Webseite dazu machen, aber ich kann die benötigte Zeit nirgens abzweigen :-(

Gruss Philip

Reply to
Philip

Hallo!

Sowas! Ich habe genau das gleiche Problem!

Oliver Brill wrote:

Seit gestern versuche ich auch gerade, einen dieser einfachst-Parallelport-Programmer (den von der C'T:

formatting link
unter Linux zu verwenden.

Obwohl ich heute nicht lange recherchieren konnte, fiel mir auf, dass die AVR-Programmer-Tools, die mir meine Distribution (Debian Sid) von Haus aus zur Verfügung stellt, offenbar nur die RS-232-Hardwarevorsätze bedienen können.

Oder habe ich da etwas übersehen? (Mein APT zeigt mir avrp, avrprog und uisp)

Eine Möglichkeit wäre, in der Tat, Ponyprog, welches im Quellcode für Linux vorliegt. Die RPM's möchte ich mir bei Debian nicht antun. Allerdings ist bei diesem Programm äußerst dürftig dokumentiert, welche Bibliotheken zum Compilieren vorhanden sein müssen. Daher suche ich eigentlich noch nach einem Tool, das einen besseren Eindruck macht.

Kann jemand einen Linux-AVR-Programmer für das o.g. Parallelport-Dongle empfehlen?

(Müssen keine Binärpakete sein, hauptsache gut dokumentiert)

Vielen Dank, Ulrich Lukas

Reply to
Ulrich Lukas

Am Sat, 07 Aug 2004 00:14:32 +0200 schrieb Philip:

Hi.

Danke für die Links.

Dieser Link führt lieder ins Leere.

Genau diesen Programmieradapter habe ich mir auch aufgebaut.

Danke, habs mir gleich mal notiert ;)

Naja, der VIM bzw der EMACS ist ganz gut. Ist halt nur kein Debugger bzw Simulator und keine Online Help für AVR dabei. Da nehm ich dann halt externe Programme für.

Na vielleicht schaffst des doch noch irgendwann mal.

mfg Oliver

--
PAN News-Client
.
.
Reply at: oliver_at_technikweb_dot_com
Reply to
Oliver Brill

Am Fri, 06 Aug 2004 20:17:18 +0200 schrieb Matthias Weißer:

Hallo.

Naja ist ja auch nicht weiter tragisch ;)

Ok, das wäre ne gute Möglichkeit. Sind dann halt mehrere Programme, anstatt eins was alles kann. Aber auch nicht weiter tragisch.

jo der AS macht nen ganz guten Eindruck, was ich bis jetzt drüber gelesen hab auf der Seite.

Welchen nimmst du? Kenne VIM und Emacs die sind schon ganz gut ;)

Gruss Oliver

--
PAN News-Client
.
.
Reply at: oliver_at_technikweb_dot_com
Reply to
Oliver Brill

Oliver Brill schrieb:

Lieber Spezialisten die ihre Aufgaben gut und zuverlässig erfüllen als einen Allrounder der alles aber nichts richtig kann.

Üblicherweise programmiere ich unter Windows mit dem Ultraedit. Unter Linux meist mit Kate.

VIM ist IMHO was für Konfig-Dateien aber nicht für längeres Arbeiten mit Quelltexte. *duck*

(X)EMACS kann ich nicht bediehnen.

--
Matthias Weißer
matthias@matwei.de
http://www.matwei.de
Reply to
Matthias Weißer

Ulrich Lukas schrieb:

formatting link
läuft bei mir mit verschidensten Programmieradaptern (AVRisp, Paralleldongle, STK500) sehr gut.

--
Matthias Weißer
matthias@matwei.de
http://www.matwei.de
Reply to
Matthias Weißer

Ja, uisp funktioniert mit dem 'einfachst'-Programmer. (mit -dprog=stk200)

Gruss JF (der avra und uisp unter Debian Sid benutzt)

Reply to
Johannes Frank

Hallo,

danke für die Antworten!

Werde die Programme gleich mal ausprobieren.

Gruß, Ulrich

Reply to
Ulrich Lukas

Wir haben ein Tool mit GUI geschrieben (AVRprog). Das unterstuetzt LPT Ports (jedenfalls unter Linux), kann aber keine Fuses programmieren.

tavrasm ist auch einen Blick wert, da er (im Gegensatz zu GNU as) weitgehend kompatibel zum Atmel Assembler ist.

Micha

--
"Our enemies are innovative and resourceful, and so are we [...]
They never stop thinking about new ways to harm our country and our
people
and neither do we."
                                                   George W. Bush
Reply to
Michael Baeuerle

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.