Forum: Mikrocontroller und Digitale Elektronik VMLAB Verständnisfrage: im Projekt Code und .hex auch noch dazu?


von Michal (Gast)


Lesenswert?

Hallo zusammen,

fange gerade an zu lernen wie man ein Projekt im VMLAB einrichtet.

Obwohl ich brav nach Anleitung fahre und das wahrscheinlich auch so 
funktionieren wird, eines möchte ich wirklich verstehen können:

Zum Projekt bindet man das Original-Code (.c oder .asm, je nachdem, 
jetzt mal unwichtig) UND die .hex Datei an.

Das kapiere ich nicht. Entweder das eine oder andere. Hex entsteht ja 
durch Kompilierung des Codes. Kompiliert er doch mein Code und kriegt 
dann noch einen .hex? Wozu?

Hoffe jemand kann es kurz und "Anfängerfreundlich" erklären...

Danke voraus und Grüße

Michal

von Michal (Gast)


Lesenswert?

Oooo?

ist der VMLAB so out? ;)

von Oliver (Gast)


Lesenswert?

???

Was bindest du wo an?

Oliver

von Michal (Gast)


Lesenswert?

Hallo zusammen,

entschuldige für die lange Pause, zwei Kinder lassen mich das Forum 
nicht nach belieben besuchen..;)

Also hier noch einmal meine Frage erfrischt:

Zum VMLAB-Projekt bindet man das Original-Code (.c oder .asm, je 
nachdem,
jetzt mal unwichtig) UND die .hex Datei an.

Das kapiere ich nicht. Entweder das eine oder andere. Hex entsteht ja
durch Kompilierung des Codes. Kompiliert er doch mein Code und kriegt
dann noch einen .hex? Wozu?

http://www.scienceprog.com/using-vmlab-as-virtual-oscilloscope/
http://winavr.scienceprog.com/index2.php?option=com_content&do_pdf=1&id=29

Und Auszug aus dem Help:

·  Step 4. Add code files. Type in the edit box and use the button Add 
this to add new code files that must be created. Use the button Browse + 
Add to add already existing filenames. Use buttons Delete and Delete all 
to perform corrections. Use also the edit box Target File to modify the 
HEX target file.

von Oliver (Gast)


Lesenswert?

Du bindest da nirgends etwas an. Was du VMLAB mitteilen musst, ist 
schlicht und einfach der Name des hexfiles. Dieses wird dann beim 
build-Vorgang erzeugt. Defaultmässig steht da schon 
"Name_des_Projektes.hex", du kannst das aber beliebig umbenennen.

Das alles ist keine Besonderheit von VMLAB, das ist grundsätzlich und 
überall so, daß irgendwo festgelegt wird, wie das fertige outputfile 
denn nun heissen soll.

Oliver

von Michal (Gast)


Lesenswert?

Hallo,

kapiert, danke schön!

Das heisst, VMLAB kompiliert das Code selbst.

Es kann aber sein, dass sich das vom VMLAB erzeugte .hex von dem z.B. 
von AVR Studio unterscheidet, nicht wahr?

Grüße

Michal

von Oliver (Gast)


Lesenswert?

>Es kann aber sein, dass sich das vom VMLAB erzeugte .hex von dem z.B.
>von AVR Studio unterscheidet, nicht wahr?

Wenn du die selben Compileroptionen einstellst, nicht. Schließlich 
nutzen beide zum kompilieren den selben WinAVR. Das makefile von VMLAB 
erzeugt nur ein anderes Debug-file, AVR-Studio hat da ein anderes 
Format.

Oliver

von Michal (Gast)


Lesenswert?

Lieber Oliver,

ich nütze vielleicht noch einmal die Möglichkeit; so einen Spezialist 
wie Du, und dazu auch noch so einen hilfsbereiten ;)) an der Strippe zu 
haben und stelle noch eine Frage:

In den Foren habe ich viel über VMLAB-Bugs gelesen.
Wie schlecht ist es wirklich? Ist es möglich dass ein Anfänger bald an 
so einem Stolpert, oder ist zu 99,99 % alles richtig und es bedarf 
wirklich akrobatischer Aufgabestellungen um da reinzutappen?

Ich fange gerade an mit einen ATmega8 in einer echten Hardware zu 
blinken, piepsen und Eingänge abzufragen.

Weiters möchte ich gründlich lernen mal jeden seiner Schaltblöcke (ADC, 
Counters, Timers, PWM, Interrupts, EEPROM, Schnittstellen usw.) mittels 
kleinst möglicher Programme in Betrieb zu nehmen. Und es wäre natürlich 
toll es jedesmal auch simulieren zu können.

Ich benütze den neuesten VMLAB 3.14.

Grüße

Michal

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.