Forum: Compiler & IDEs Atmel mit Hochsprache programmieren


von Patrick Kurmann (Gast)


Lesenswert?

Ich habe mir ein Atmel STK500 gekauft. Mitgelifert ist zudem ein
AT90S8515. Welches Tool ist am konfortabelsten, de Conroller zu
beschreiben?

Vielen Dank

von Meister (Gast)


Lesenswert?

Ein Edding...

von miwitt001 (Gast)


Lesenswert?

Außer einem Edding kannst du auch PonyProg oder AVRStudio nehmen. Ich
hab PonyProg, bin ganz zufrieden damit. Und geht auch unter Windows XP
ohne extra Treiber (bei mir zumindest). Probier einfach mal was dir am
besten gefällt, ich find PonyProg net schlecht.
mfg Michael

von Jörg Wunsch (Gast)


Lesenswert?

An Hochsprachecompilern gibt's wohl derzeit einen teilweise
funktionablen Port von Ada auf den AVR.

Am meisten verbreitet sind natürlich C-Compiler (und da Du im
GCC-Forum fragst, sollte hier wohl besonders der AVR-GCC erwähnt
werden), aber C wird man nicht ernsthaft als Hochsprache bezeichnen
wollen. ;-)  Dafür eignet sich C natürlich recht gut für
Microcontroller...

von Rahul (Gast)


Lesenswert?

dann wäre es ja das Hohe-C...
Ich gehe jetzt aber mal davon aus, dass hier C als Hochsprache
betrachtet wird, im Gegensatz zum Assembler.
Da der AVR-GCC mit einem ganzen Programm-Paket "geliefert" wird, was
eine IDE und einen Programmer umfasst, dieses Paket keinerlei
Beschränkungen in Bezug auf Code-Grösse oder anderen Sachen gibt, wie
es bei abgespeckten kommerziellen Sachen häufig der Fall ist, wäre es
eigentlich erste Wahl, sofern Interesse an C besteht. Das Produkt wird
auch hervorragend gepflegt...

Es gibt auch andere Compiler für Hochsprachen wie Basic (kein
Programmierer älter als 12 Jahre programmiert noch in Basic...) oder
Pascal.

Der AVR ist ja auch auf C-Code ausgelegt, habe ich irgendwo mal
gelesen.

Cool, 2 Seiten und nur 3 Sätze...

von Toni (Gast)


Lesenswert?

Hallo Patrick

>>Da der AVR-GCC mit einem ganzen Programm-Paket "geliefert" wird,
was
>>eine IDE und einen Programmer umfasst...

Das ist leider übertrieben, denn eine wirkliche IDE fehlt immer noch.

Ich muss Dich auch warnen, dass die Unterlagen schwer zu verstehen
sind. So ist kein eigentliches Handbuch vorhanden, nur ein "Reference
Manual" das für einen C-Anfänger nicht geeignet ist.

Bei Produkten die etwas kosten ist das anders.

Schaue Dir auch CodeVision, Bascom-AVR und auch FastAVR an, alle diese
Produkte haben Handbücher mit Beispiel-Codes.

Natürlich wäre es zu begrüssen, dass auch bald der AVR-GCC nicht nur
den Cracks etwas zu bieten hätte!

Gruss

Toni

von Peter D. (peda)


Lesenswert?

"Natürlich wäre es zu begrüssen, dass auch bald der AVR-GCC nicht nur
den Cracks etwas zu bieten hätte!"

Warum ?

Ich will doch keinen Mausarm bekommen:

http://online.wdr.de/online/news/mausarm/index.phtml


Ich mag es lieber, wenn man mit möglichst wenigen Tastaturdrücken zum
Ziel kommt und das ist bei den üblichen Mausschubser-IDEs leider ganz
und garnicht der Fall.

Hauptsache ist daher bei einem Compiler für mich nur die unbedingte
Coderichtigkeit, Codeeffizienz und ANSI-Kompatibilität (in der
Reihenfolge).
Nicht zu lahmarschig sollte er auch sein (10s compilieren + 2s den MC
brennen).


Peter

von OldBug (Gast)


Lesenswert?

Hallo Toni!

Ein Compiler Handbuch ist auch nicht dazu gedacht, anfängern C
Kenntnisse zu vermitteln! Und Beispielprogramme sollten sich doch zu
hauf finden lassen... Was mir an solchen Compilern/SW-Entwicklungskits
absolut nicht passt ist, daß sie immer wieder für Anfänger
vorgeschlagen werden, weil sie einem angeblich die ganze Arbeit
abnehmen. Damit spreche ich jetzt beispielsweise diese
"Codegeneratoren" an. Kein Anfänger versteht, was da passiert und
warum was passiert. Wenn dann irgendwann mal ein Stückchen Code nicht
oder nicht richtig arbeitet, ist hängen im Schacht.

Die Fehlersuche kann kein Codegenerator oder ähnliches übernehmen, und
wenn man dann noch Sourcen verwendet, von denen man so gut wie gar
nichts weis...

Gruß,
Patrick...

von Bernd Schmidt (Gast)


Lesenswert?

@Rahul
>...(kein Programmierer älter als 12 Jahre programmiert noch in
Basic...)...

Wird zwar immmer wieder behauptet, stimmt aber nicht.
Die Wahl der Sprache ist nicht vom Alter abhängig. Leider gab es als
ich 12 war noch keine (Personal)Computer, so das ich nicht weiß welche
Sprache ich mit 12 benutzt hätte. Aber auch jetzt programmiere ich
immer noch überwiegend in BASIC.

Und das beste ist, es tut nicht weh :-)
Wichtig ist nur das man das Problem mit "seiner" Sprache gelöst
bekommt.

Bernd

von Rahul (Gast)


Lesenswert?

@Bernd:
Das mit Basic ist auch nicht wirklich ernst gemeint.
Ich programmiere selbst in Basic, weil ich noch keinen richtigen
Einstieg in C++ gefunden habe (Handles hier und da...)

Selbst mein Prof programmiert in VBasic, wobei seine Frau
professionelle Programmiererin ist. Es wird bei uns an der FH sogar
gelehrt. Es ist einfach zu lernen und durch die Ablauf-Version
(Authoren-Version) auch zuhause nutzbar.

Basic für Mikrocontroller finde ich irgendwie richtig komisch. Nicht,
dass ich was dagegen hätte - wenn der Compiler guten Code erzeugt, ist
doch alles in Butter.
In Bezug auf Mikrocontroller bin ich eher Freund von Assembler und C.
Assembler deswegen, weil es am dichtesten an der Maschine ist, und C,
weil es IMHO gleich nach Assembler kommt. Es ist für mich die
einfachste Hochsprache, die ich kenne.
Von Code-Wizards halte ich auch nicht besonders viel, solange dabei
gleich Assembler-Code entsteht. Bei der PC-Programmierung finde ich es
schon interessant, was da hinten herauskommt. So habe ich mir VBA für
Excel angeeignet (Makro aufzeichnen und den Code dann im Editor
begucken...)
Zur IDE vom AVR-GCC kann ich nur sagen: Wo liegt da das Problem der
Unhandlichkeit? Wie Peter bin ich auch einer, der das Mäuseschubsen
verabscheut. Tastaturkombinationen lassen sich besser lernen als erst
den Masuzeiger zu suchen und den dann über den gesamten Bildschirm zu
verschieben, um dann ein Icon anzuklicken. Da die Fläche meines
Schreibtisches etwas begrenzt ist, habe ich mich auch für einen
Trackball entschieden. Da bekommt man auch keinen Mausarm.
So, gute Nacht!

von Bernd Schmidt (Gast)


Lesenswert?

@Rahul

Ich bin gerade selbst dabei auf dem Atmel ein Programm von Basic in
"C" umzusetzen.
Das C seine Vorzüge hat ist ganz sicher. Die Benutzung von Basic ist
bei mir meist die Faulheit :-)

Die ersten Programme auf einem mir neuen Prozessor schreibe ich in der
Regel in Assembler, Intel mal ausgenommen. Später wenns mehr wird war
es in der regel dann Basic.
Auf dem PC wird natürlich VB eingesetzt. Kennengelernt habe ich das
Windows-System aber nur durch den Einsatz von C.

Übrigens: Der Bascom erzeugt alles andere als optimierten Cod (so
schein es mir zumindest), deshalb muss ich auch mal wieder in C
umsetzen. Vieleicht kommt ja zwischendurch der ATMEGA256 auf den Markt.
Dann hätte ich wieder ein wenig Luft :-)


Bernd

von Peter D. (peda)


Lesenswert?

@Bernd

"Vieleicht kommt ja zwischendurch der ATMEGA256 auf den Markt.
Dann hätte ich wieder ein wenig Luft :-)"


Behauptest Du etwa im Ernst, Du hast schon mal einen M128 vollgekriegt
?


Ich kenne keinen der sowas geschafft hätte.

Die meisten Leute, die ich gefragt habe, warum sie denn einen M128
nehmen, hatten nur den einzigen Grund:

"Ist ja ein kostenloses Sample und da habe ich eben den teuersten
genommen."


Peter

von Bernd Schmidt (Gast)


Lesenswert?

Na, dann bin ich vieleicht der erste :-)

Mit BASCOM programmiert bin ich schon mehrfach an die 128k Grenze
gestoßen. Ich muss immer wieder mal einiges entfernen was momentan
nicht gebraucht wird.
Deshalb werde ich das ganze Programm mal in C konvertieren.

Ich überlege auch das ganze Projekt auf mehrere Prozessoren zu
verteilen. Mal sehen, wird wahrscheinlich parallel auch noch gemacht um
später flexibler zu sein.

Ach ja, das ganze wird zum messen, anzeigen und auswerten von
Analogsignalen gebraucht. Mit Grafikdisplay, Menü's, verschiedene
Schnittstellen usw.

Bernd

von Jörg Wunsch (Gast)


Lesenswert?

> Die meisten Leute, die ich gefragt habe, warum sie denn einen M128
> nehmen, hatten nur den einzigen Grund:

> "Ist ja ein kostenloses Sample und da habe ich eben den teuersten
> genommen."

OK, ich habe noch einen: zum Ausprobieren ist das Beste gerade gut
genug.  Beim Debuggen kann man schnell mal ein paar Bytes mehr
gebrauchen (wenn man zu faul für progmem-Strings ist, auch im RAM :),
wenn man ein JTAG ICE ansetzen will, gehen dafür auch vier Portpins
drauf, wenn man externen RAM benutzen möchte, noch einige mehr...  Für
ein fertiges Projekt runterskalieren ist einfacher, als sich von
vornherein zu enge Grenzen gesetzt zu haben und damit die Entwicklung
selbst ewig herauszuzögern.

(Ich hab' gut reden, meine M128-Platine habe ich auch geschenkt
bekommen. ;-)  Ich bin mir aber mittlerweile sicher, daß ich mir
andernfalls eine gekauft hätte.)

von Peter D. (peda)


Lesenswert?

@Bernd

"Mit BASCOM programmiert bin ich schon mehrfach an die 128k Grenze
gestoßen."


Wahnsinn.

Wieviele Codezeilen sind das denn ?


Mein bisher größtes C-Programm ist 9500 Zeilen lang (27 C-Files),
benötigt 7kB RAM und 39kB Flash (davon 5kB constante Daten).

Ist allerdings auf einem 8051 (P89C668) geschrieben, d.h. auf einem AVR
wäre es etwas größer (aber lange noch nicht 128kB).


Peter

von Bernd (Gast)


Lesenswert?

Es sind so etwa 9000 Zeilen.
Wie geschrieben, Bascom optimiert nicht so besonders gut.

Das ganze war als Versuch gedacht und nun doch etwas größer als
erwartet ,es funktionierte einfach zu gut :-)

Der Zeitpunkt das Programm auf andere Beine zu stellen wurde dann immer
wieder verschoben weil es wichtigeres gab. Tja, da musss ich eben
momentan mit leben. Man darf sich nur nicht vom vermeintlich
"einfachen" blenden lassen.

Aber ich lerne schon brav "C" und Versuche es halt nochmal. Ich habe
irgendwo gelesen C hat auch nur 56 Befehle (soviel wie damals ein
6502), kann also garnicht so schwer sein (...nicht wirklich erst
gemeint...)

Bernd

von Jörg Wunsch (Gast)


Lesenswert?

Wo auch immer Du das gelesen hast: es ist falsch.  C hat nämlich gar
keine Befehle. ;-)

C hat Operatoren, Ausdrücke, Funktionen, ..., aber keine Befehle.  In
irgendeiner Form beziffern kann man die auch nicht, einzig vielleicht
die Operatoren sind abzählbar.  Schon bei den Funktionen geht es aber
in den Bereich der zugehörigen Bibliothek, ab da wird es in dieser
Form nicht mehr abzählbar im Sinne einer Aussage wie: ,,C hat
soundsoviele Funktionen''.

von Bernd (Gast)


Lesenswert?

Ja, so ungefähr meinte ich es auch.
Ich weis auch nicht mehr genau wo ich das gelesen hatte, war aber zu
der Zeit als der Apple ][ seine letzten Lebenszeichen von sich gegeben
hat. Da hat man es mit den Bezeichnungen nicht ganz so genau genommen.
Die Zählung war garantiert ohne Bibliotheksfunktionen.

Aber ich schau noch mal nach wo ich das her habe, es kann ja nicht in
so vielen verschiedenen Büchern gestanden haben. Es gab fast keine (K&R
fällt mir da nur ein).

Bernd

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.