hi ich suche ein Programm, welches mir das Programmieren mit Assembler ein wenig vereinfacht, und das ganze in Richtung Hochsprache geht. Gibt es soetwas?
hi natürlich nicht, meine Frage war ja bloß, ob es dafür ein program gibt?
******** hi ich suche ein Programm, welches mir das Programmieren mit Assembler ein wenig vereinfacht, und das ganze in Richtung Hochsprache geht. Gibt es soetwas? ********* Was verstehst du unter ""in Richtung Hochsprache geht"" ?? Assembler ist Assembler und ist an die Befehle gebunden die der Controller liefert. Wennn du ganze Standardroutinen auf Befehl meinst dann ist das schon eine Hochsprache und nicht mehr Assembler. Wenn du aber häufige funktionen aus einer Art Bibliothek abrufbar willst und nebenbei eine Funktionelle Oberfläche mit Debugger,Statusanzeigen usw. willst dann schau dir mal zb. das AVR-Studio an.
hi ja soetwas in der Richtung, ich meine zu Quelltextblöcke, die für eine bestimmte aufgabe stehen und schon fertig sind. z.B. Antsteuerung eines Schrittmotors (Block1: Schritt vorwärts Block2: stoppen an einer bestimmten position...), wo man dann nur noch einzelne Dinge verändern bzw. an seinen microcontroller anpassen muss.
"ich meine zu Quelltextblöcke, die für eine bestimmte aufgabe stehen und schon fertig sind." Das macht man so: Man teilt sein Programm in einzelne Module auf, die man dann in extra Files schreibt und dann später per include einbindet. Allerdings sollte man sich dazu erstmal ein Schema der Parameterübergabe ausdenken, damit man nicht jedesmal in die Funktionen reinsehen muß, welche Register nun verwendet werden. Wichtig ist dann auch, soviele Zahlen wie möglich per Definition zu verwenden, damit man die Module bequem an andere Quarzfrequenzen, Baudrate, Portpins usw. anpassen kann. Der AVR Assembler kann schließlich prima bis zu 32Bit-Werte für Dich berechnen. Es gibt hier zwar auch Anhänger der Monsterfiles, die immer alles komplett in ein neues Projekt übernehmen und dann mühsam rausstreichen müssen, was zuviel ist und einfügen, was neu ist. Aber das geht nur bis zu einer bestimmten Kleinheit der Anwendungen. Sonst wird es einfach zu unübersichtlich, fehlerträchtig, unerweiterbar und unwartbar. Peter
hi das ist mir schon alles klar, aber ich meine ich suche soetwas was in groben zügen schon fertig(worauf ich aufbauen kann)ist bzw. ich nur noch wie in der Hochsprache einzelne begriffe für verschiedene aufgabe schreiben muss und ich mich vordergründig nicht um die register kümmere sprich wie ich es oben schon einmal geschrieben habe: z.B. Antsteuerung eines Schrittmotors (Block1: Schritt vorwärts Block2: stoppen an einer bestimmten position...), wo man dann nur noch einzelne Dinge verändern bzw. an seinen microcontroller anpassen muss. --> die sind sozusagen schon vorgegeben (Quelltext) und ich muss die dann nur noch per Befehl ausführen.
Hö ? Also doch ne Hochsprache. Schau dir mal aus Jux Bascom an und stöber inner Hilfe bei den Befehlen rum. Da haste Fertige Befehle für I2C,LCD,1W,RC5,RC6,Serielle und vieles Mehr. Meinste sowas oder wie ? (Weiß nicht so genau worauf du nun hinauswillst aber ich ahne da sowas bestimmtes.)
du suchst einen makroassembler. das ist inzwischen wohl fast jeder assembler. schreib dir die "blöcke" /makros selber, order verwende welche die im netz zu hauf zu finden sind wenn man danach sucht.
hi das mit bascom schau ich mir mal an. @till ich habe mich schon fast zu tode gesucht, wo soll das sein?
Was spricht eigentlich dagegen, gleich eine Hochsprache zu verwenden? Wenn man die Zeit- und Performancekritischen Sachen weiterhin in Assembler schreibt und dann einbindet? Ich sehe nicht ganz den Vorteil darin mit irgendwelchen fertigen Assembler-Blöcken zu hantieren, wenn man auch einzelne Befehle einer Hochsprache verwenden kann. Ich habe seinerzeit mit dem x86-Assembler versucht, größere Programme mit Assembler zu schreiben, aber nach kürzester Zeit wieder aufgegeben, weil es einfach zu unübersichtlich ist (selbst mit Kommentaren).
hi @ wolli was schlägst du vor, welche befehle meinst du und vor allen dingen welche hochsprache, die auf einem microkontroller funktioniert, so eine art compiler? Ich will ja nur, dass ich mir nicht die mühe machen muss, jede noch so vereinzelte zeile Quelltext zu schreiben, wenn es nicht dafür eine Hochsprache gebe, die das vereinfacht und bestehenden Quellcode von anderen in form von einzelnen befehlen wiedergibt und in assembler wieder compiliert. Gibt es nun soetwas in der Art?
Selbstverständlich eine Hochsprache! Ich schreibe meine Programme alle in C für den freien GCC Compiler. Schaust du links in die Leiste, da steht ganz oben "AVR-GCC"! Bitte durchlesen!
hi und das geht mit ganz normalen c befehlen und was ist mit den registern, sieht man da auch den Quelltext in Assembler, wie funktioniert da der compiler?
Der AVR-GCC-Compiler erzeugt auf Wunsch auch Assembler, ist aber nicht nötig, da er auch hex-Files direkt erstellen kann, die man dann z.B. mit PonyProg in den AVR schreiben kann. Im C-Quelltext hat man Zugriff auf die I/O-Register. Auf die General Purpose Register (r0-r31) greift man normalerweise nicht direkt zu, da die der Compiler benutzt und verwaltet. Die große Anzahl der Register ist ja gerade der Vorteil des AVR in Kombination mit einem Hochsprachencompiler! Da ein solcher Compiler meist nicht so effizient mit Registern umgehen kann, wie ein erfahrener Assembler-Programmierer, ist es vorteilhaft so viele zu haben. Oder hast Du schon mal alle 32 Register in einem Programm benutzt? Da verliert der Programmierer schnell den Überblick.
hi du hast recht es ist so wirklich unübersichtlich. Mal sehen erst mal nownloaden und danach testen, ich hoffe es lohnt sich.
Such mal nach dem Application Builder für AVR - oder so ähnlich. Der wird von Atmel beschrieben und ist bei avrfreaks kostenlos runterladbar. Ich halte aber auch GCC-AVR für die sinnvollste Hardware-nahe Hochsprache. Gruß Bernhard
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.