Hallo zusammen, ich habe eine allgemeine Frage: Ich programmiere ja mit Bascom Basic. Was passiert jetzt, wenn ich auf "compilieren" klicke? Wandelt er meinen Code in Assembler oder in Maschinencode um? Was ist der Unterschied von Assembler und Maschinencode? Was gelangt über die ISP-Schnittstelle zum Controller? Wie funktioniert das alles? Herzliche Grüsse Mario
Hallo, beim compiliren passieren mehrere sachen. in der reinfolge schaut das in etwa so aus: 1. läuft ein precompiler, der bindet extern benutzten quelltext mit ein und bearbeitet precompilerderektiven z.b. ersetzt er constantennamen durch ihren wert. er filtert auch unnötige sachen herraus wie komentare herraus. 2. jetzt kommt der compiler, der verarbeitet den mundgerechten quelltext des precompilers und übersetzt ihn in einen maschinencode der aber noch nicht lauffähig ist. 3. danach kommt der linker, der fügt die biblotheken hinzu die im quelltext benutzt werden und baut daraus ein lauffähiges programm, welche dann im fall AVR meist im Intel-hex format gespeichert werden. 4. diese Intel-hex datei wird dann mit einen entsprechenden programm in den AVR übertragen wo er dann meist auch lauffähig ist :-) Assembler - Maschinecode Assembler ist eine Symbolsprache für Maschinensprache, da maschinenspracheprogramme nur aus 0 und 1 besteht und für den menschen so schwer lesbar wären. Hier benutzt man greifbare namen für eine bitfolge die den maschinenbefehl darstellt.
Also im Allgemeine sagt man es folgendermassen: * Preprocessor (der ersezt eventuelle Variablendefinitionen, included files und so, halt alles was Compilerspezifisch möglich ist) * Umsetzung in Assemblercode * Übersetzen des Assembelrcodes in Objectcode (also 0 und 1) * generieung des Ausführbaren Codes (also eventuelle Header o.ä.) In den Controlelr kommt dann das "Programm" in Anführungszeichen deswegen weil man im Prinzip jeden beliebigen Bytecode in den Prozessor schreiben kann das wird nicht überprüft oder so. Der µC interpretiert dann den Code und führt die entsprechenden Befehle aus. Ist jezt nur einfach beschrieben aber im Prinzip passiert genau das
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.