Forum: Mikrocontroller und Digitale Elektronik Programm zu rErleichterung???


von Martin Schneider (Gast)


Lesenswert?

hi

ich suche ein Programm, welches mir das Programmieren mit Assembler ein
wenig vereinfacht, und das ganze in Richtung Hochsprache geht.

Gibt es soetwas?

von Malte Marwedel (Gast)


Lesenswert?

Was spricht gegen eine Hochsprache mit Assembler Einbindung?

von Martin Schneider (Gast)


Lesenswert?

hi

natürlich nicht, meine Frage war ja bloß, ob es dafür ein program gibt?

von Ratber (Gast)


Lesenswert?

********
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.

von Martin Schneider (Gast)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

"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

von Martin Schneider (Gast)


Lesenswert?

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.

von Ratber (Gast)


Lesenswert?

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.)

von Till (Gast)


Lesenswert?

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.

von Martin Schneider (Gast)


Lesenswert?

hi

das mit bascom schau ich mir mal an.

@till ich habe mich schon fast zu tode gesucht, wo soll das sein?

von wolli (Gast)


Lesenswert?

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).

von Martin Schneider (Gast)


Lesenswert?

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?

von wolli (Gast)


Lesenswert?

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!

von Martin Schneider (Gast)


Lesenswert?

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?

von wolli (Gast)


Lesenswert?

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.

von Martin Schneider (Gast)


Lesenswert?

hi

du hast recht es ist so wirklich unübersichtlich.

Mal sehen erst mal nownloaden und danach testen, ich hoffe es lohnt
sich.

von Bernhardt (Gast)


Lesenswert?

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

von Martin Schneider (Gast)


Lesenswert?

hi

ich bin noch beim testen, sag euch dann bescheid.

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.