# Hex-Code aus C-Code erzeugen



## Html (28. April 2008)

Wie der Titel schon sagt, habe ich einen C-Code den ich gerne mit Visual Studio 2005 in ein Hex-File umwandeln will damit ich diesen auf einen Mikrokontroller laden kann!

Ist das mit Visual-Studio irgendwie möglich?

Tut mir leid wenn es eine dämliche Frage ist, aber bin neu auf diesem Gebiet!


Danke


----------



## MCoder (28. April 2008)

Hallo,

Visual Studio erzeugt Binaries, die nur auf x86-Prozessoren und unter Windows laufen. Für Mikrokontroller brauchst du einen speziell auf den betreffenden Typ zugeschnittenen Compiler.

Gruß
MCoder


----------



## Html (28. April 2008)

Also es geht eigentlich um folgendes: Ich studiere E-Technilk im 2. Semester und nun haben wir das Fach Mikrokontroller. In den Praktikas programmieren wir einen C505C-LM mit Tasking Cross View Pro! 

Nun wollte ich mir das ganze mal mit Proteus simulieren-das geht auch wunderbar mit dem hex-file welches wir im letzten Praktika mit  Tasking Cross View Pro erzeugt haben. So nun haben wir aber morgen das zweite praktikum und ich wollte mich einfach etwas drauf vorbereiten, d.h ich habe zu der Aufgabenstellung einen C-code geschrieben und wollte diesen eben mal mit Proteus simulieren.

Nun dazu benötige ich ja das Hex-File!? Das ist eigentlich mein Problem...


----------



## Dario Linsky (28. April 2008)

Hallo,

wie schon gesagt: Mit Visual Studio wirst du da nicht besonders weit kommen, weil du damit nur x86-Maschinencode für PCs generieren kannst. Wenn du dein Programm für einen anderen Prozessortyp einsetzen willst, brauchst du einen Compiler, der das entsprechend dem Befehlssatz des µC übersetzt. Die Binaries, die Visual C++ dir raus gibt werden auf einem anderen Prozessortyp im Idealfall schlicht gar nicht erst gestartet, wahrscheinlicher ist aber, dass da an den Pins nur Schrott raus kommt.

Da solltest du ggf. mal bei dir an der Uni/FH fragen, ob du den Compiler bzw. die Programmierumgebung nicht von denen kriegen kannst. Ansonsten halt die Holzhammermethode: Maschinencode lernen und das HEX-File manuell einhacken. :suspekt: 

Grüße, D.


----------



## Html (28. April 2008)

Habe mir jetzt mal den SDCC-Compiler und M-IDE51 Studio geladen!
Damit müsste ich doch ein passendes hex-file erzeugen können oder!?

Jedoch erhalte ich immer bei folgendem C-Code:

P1=0x6F

diesen Fehler:

Undefinied Identifier 'P1'


Doch P1 bezeichnet doch den Port P1!? Mache ich etwas falsch (womöglich)


----------



## MCoder (29. April 2008)

"P1" ist erst mal eine Variable, die nirgendwo deklariert wurde (Sprache C). Daher die Fehlermeldung. 
Wie man Ports anspricht, wirst du wohl nochmal in der entsprechenden Doku nachlesen müssen. Das dürfte eine spezielle Angelegenheit der verwendeten Entwicklungswerkzeuge sein.

Gruß
MCoder


----------

