Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

C / C++ programmieren auf PC / AVR - (mit GCC)

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
chri
Newbie
Newbie
Beiträge: 3
Registriert: 3. Mai 2004, 17:37

C / C++ programmieren auf PC / AVR - (mit GCC)

Beitrag von chri »

Hallo Leute,

Bisher programmiere ich nur meinen Computer in C und C++ , demnächst möchte ich anfangen auch Mikrocontroller (Atmel AVR) in C zu programmieren. Der GCC kann beides, aber man muss wohl das Zielsystem in der Config umstellen. Gibt es eine Programmierumgebung in der man das leicht erledigen kann? Auf einer Webseite habe ich gelesen man soll GCC nochmal in einen anderen Ordner installieren, ihn auf die AVR einstellen, und dann mit zwei verschiedenen GCC arbeiten.

Vieleicht kennt sich auch jemand mit der Programmierung der Atmel AVR mit GCC aus.
Welche Programme benutzt ihr zur Programmierung / Übertragung?

Bin für jeden Tipp dankbar! :)

MfG Christoph.
Keep It Simple Stupid
gast

Beitrag von gast »

Hallo

ich verwende zur Zeit noch WIN-AVR. Leider gibt es für Suse kein entsprechendes RPM-Paket. Bei Debian sieht es etwas besser aus. Allerdings sind die Pakete in der stable Version hoffnungslos veraltet.

Auf Grund leidvoller Erfahrungen mit dem ISP-Programmer verwende ich lieber das JTAG-ICE. Hierfür gibt es nach meinem aktuellen Wissensstand keine Tools für Linux. Deshalb muß ich AVRStudio unter Win verwenden.

WinAVR liefert auch einen sehr schönen Editor/IDE (pn2) mit. Bei AVR-Freaks gibt es eine Anleitung um make direkt aus dem Editor zu starten. Etwas ähnlich leistungsfähiges habe ich leider in der aktuellen Suse nicht gefunden. Eclipse kann scheinbar kein Syntax-Highlighting für C. Außerdem ist Eclipse ein ziemlicher Brocken mit elendig langer Ladezeit und merkwürdiger Bedienerführung. Vermutlich zur Zeit nur für Java zu gebrauchen. Und Kate kriegt es irgendwie mit dem Fenstermanagement nicht gebacken (Projektfenster überdeckt immer den Source).

Alles in allem ist die Situation zur AVR Entwicklung unter Linux nicht sehr befriedigend. Bisher gibt es scheinbar keine brauchbare IDE und es gibt keine Unterstützung das JTAG-ICE.

Ich würde lieber heute als morgen die AVR Entwicklung auf Linux umstellen. Wenn jemand eine brauchbare Lösung weiß, bitte melden.

Grüsse

Jozi
Snubnose
Hacker
Hacker
Beiträge: 410
Registriert: 18. Feb 2004, 19:19
Wohnort: Schwabenland

Beitrag von Snubnose »

google mal zu
kdevelop avr
kate avr
(und wenn du ne gescheite praktikable Lösung hast poste sie hier - ich werd das nämlich auch bald machen)
:)

@gast
wo haste denn den jtag programmer her ?
gibts da was günstiges gutes ?
gast

Beitrag von gast »

Hallo

ich habe den JTAG-ICE von Atmel. Mit dem ISP kriegt man Probleme, wenn man die Fuses für die Takterzeugung auf einen externen Quarz umschaltet. Ich vermute, das es dann einen Zustand gibt, bei der der interne RC-Takt bereits abgeschaltet, aber der externen noch nicht aktiviert ist. Danach kannst Du den Chip nur noch per JTAG oder high voltage mode wieder zum Leben erwecken. Den JTAG-ICE habe ich auf einen Atmel Seminar als kleine Zugabe erhalten. Leider ist das Teil einzeln nicht gerade billig.

Ich habe mir gerade noch mal SciTE angesehen. Der Editor scheint relativ brauchbar zu sein. nedit gibt es bei SuSe9.1 scheinbar auch nicht mehr.
Höchste Zeit das Sarge fertig wird.

:wink:

Grüsse

jozi
Snubnose
Hacker
Hacker
Beiträge: 410
Registriert: 18. Feb 2004, 19:19
Wohnort: Schwabenland

Beitrag von Snubnose »

also ich hatte bisher keine Probleme mit dem ISP
und ich konnte falls ich das Board falsch layoutet hatte es immer wieder mit dem AVR-STK zurückstellen....
der JTAG-ICE ist mir zu teuer (wobei das Teil Klasse ist) - vor allem auch zum debuggen
jozi59
Newbie
Newbie
Beiträge: 1
Registriert: 15. Mai 2004, 22:23
Wohnort: Bottrop

Beitrag von jozi59 »

Hallo

die Programmierung per ISP wäre mir auch lieber, weil der Aufwand geringer ist und Lösungen für Linux exisiteren. Zusätzlich belegt das JTAG-Interface beim Mega64/128 einige ADC-Eingänge.
Mein Problem betrifft vor allem SMD-Chips. Wenn die Fuses einmal falsch stehen, geht per ISP nichts mehr. Ohne Clock läut die ISP nicht. Und SMD-Chips auslöten und dann per Adapter im STK500/501 zu programmieren halte ich für keine gute Idee.

Die Alternativen wären den Chip zu sockeln oder vorkonfigurierte Chips zu verwenden.

Aber zunächst werde ich mal versuchen eine brauchbare AVR-Toolchain für Linux zu finden. Die grossen IDE's (Eclipse, KDevelope, etc.) scheinen mir zuviel Balast mitzuschleppen, sind sehr unübersichtlich und haben beide ihre Schwächen. Zumindest um damit produktiv für den AVR zu entwicklen.
Kate (aus Suse9.1) wäre ok, jedoch verdeckt die Projektübersicht den Source im Editor. Vi möchte ich mir nicht antun.

Grüsse
jozi
WernerS
Newbie
Newbie
Beiträge: 17
Registriert: 7. Jun 2004, 15:00

Beitrag von WernerS »

Hallo Jozi!

Eine Empfehlung dieser Art abzugeben ist immer etwas riskant, aber:

Wenn es Dir nur um einen guten Editor geht, könntest Du Dir "nedit" ansehen (http://www.nedit.org).
Er ist bei SuSE standardmäßig dabei (bei 9.1 weiß ich es nicht, er war es jedenfalls noch bei 9.0).

Nedit ist zwar keine echte KDE-Applikation, wird jedoch vom KDE so weit unterstützt, dass beim Ausloggen offene Fenster beim nächsten Einloggen wieder automatisch mit dem richtigen Sourcefile geöffnet werden.

Nedit bietet Syntax-Highlightning und man kann alles möglich kofigurieren (Tabs, ...)
Was über 99 Prozent aller anderen Editoren hinausgeht, ist die Möglichkeit beliebige rechteckige Text-Ausschnitte zu verschieben (Markieren mit CTRL linke Maustaste -> ziehen über gewünschten rechteckigen Ausschnitt, anschliessend Maus auslassen, in markierten Ausschnitt fahren, mittlere Maustaste drücken und halten und Ausschnitt an die gewünschte Position verschieben).

Ich würde vorschlagen die Punkte
Preferences / Default Settings / Syntax Highlightning / On
Preferences / Default Settings / Show Line Numbers
Preferences / Default Settings / Incremental Search Line und
Preferences / Default Settings / Statistics Line

zu aktivieren (anschließend "Preferences / Save Defaults" zum Speichern dieser Einstellungen!)

Natürlich ist Nedit keine vollständige IDE, aber mit den Makros kann man doch einiges "erschlagen". :wink:

Was Handarbeit erfordern würde, wäre ein Betrieb, bei dem der Editor automatisch auf die Fehler-Zeilen des Sourcecodes wechselt. Dies läßt sich meines Wissens mit einem Nedit-Server erledigen; das habe ich jedoch noch nicht selbst probiert.

Ciao
Werner
Antworten