ich möchte ein keines programm für den midibox in c schreiben mit visual c++ hab ich etwas erfahrung
da zu hab ich den code :blocks installiert Debugger,compiler den CB SDCC Skeleton hab ich mal gestarte es kommt eine console anwendung mit hallo word. ich denke soweit funktioniert alles.
ich würde gerne ein test programm schreiben um den umgang mit miosfunktionen zuverstehen.
das programm sollte dies tun.
wenn ich an DIN ein pin auf masse lege soll in der console anwendung nich hallo word stehen sonder
“DIN Pin no 7” "DOUT pin 7 ON "
für ein kleines exemplar währe ich seher dankbar.
kann ich das mit code : blocks realisieren oder muss die anwendung in den pic geladen werden um überhaupt etwas zusehen
du musst noch GPUtils (ASM Toolchain), SDCC (C-Compiler) und Perl (hex2syx) installieren und die um Programme zu erstellen, die auf dem Pic ausführbar sind. Schau doch einfach mal auf diese Seite http://www.ucapps.de/mios_c.html
Du brauchst dafür kein Englisch, es sind ja auch Bilder und Links dabei.
Es gibt zwar ACSim, um ein MIOS Programm auf der Konsole ausführen zu können, aber hier ist die Anleitung nur auf Englisch und ich hab’ grade zu wenig Zeit das alles zu übersetzen; außerdem weiß ich nicht ob sich das lohnt (ändert sich ständig was).
Ich würde es erst mal mit einem Testprogramm für deine Box versuchen, das ist für den Anfang etwas einfacher.
Also, wenn Du das gleiche Problem hast, das vor ca. 1 Woche schon mal einer berichtet hat, dann liegt das an der GPUtils-Version.
Betroffen war GPUtils 0.13.5. Versuch doch mal bitte eine andere (ich weiß, dass es mit 0.13.3b geht, kannst es aber auch mal mit 0.13.4 probieren)…
Gruß,
Michael
Edit:
Sorry für den Edit, aber noch ein erklärendes Wort: Wenn du in Code::Blocks auf “Run” drückst und eine Konsolenanwendung kompiliert wird, dann passiert das i.d.R. mit dem GCC-Compiler. Wenn du “Make” aufrufst, dann compiliert nicht GCC, sondern der C-Code wird mit SDCC zu ASM Code compiliert und mit den GPUtils zu einer hex-Datei. Mit dem Perl-Programm hex2syx.pl wird die hex-Datei eine SysEx-Datei, die man dann auf den Pic laden kann.
Somit sind das zwei komplett unterschiedliche Methoden, von denen die eine bei dir funktioniert (GCC) und die andere nicht (GPUtils).
Du solltest prinzipiell Leerstellen in Verzeichnisnamen vermeiden, lieber den Ordner in “CB_SDCC_Skeleton” umbenennen. Eigentlich sollte sowas 2008 funktionieren, aber wenn bei geschätzen 50 Unterprogrammen, die da involviert sind, nur eines keine Leerzeichen unterstützt… :-\
ich weiß nicht genau, welche Version du mit 13.0-1 meinst, versuche es doch bitte mal (wie schon geschrieben) mit 0.13.4 und wenn das nicht geht mit 0.13.3; ich weiß, dass es mit 0.13.3b in jedem Fall funktionieren sollte.
nochmal: hast du die Leerstellen aus deinem Verzeichnis schon entfernt?
und überprüfe mal deine Rechte:
lib:Permission denied
dürfen alle GPUtils Programme ausgeführt werden?
Und ich nehme an, du hast auch die korrekten Systemvariablen (Pfade) eingetragen, wie unter der bereits bekannten C-Seite auf ucapps.de beschrieben:
Außerdem hast du uns noch nicht verraten, welche Windows-Version du benutzt (was anderes als 2000 oder XP)?
Ich kann dir nur raten, noch mal alles Schritt für Schritt durchzugehen, denn eigentlich sollte das reibungslos funktionieren. Ansonsten bin ich hier als Mac-User ziemlich ratlos, vielleicht hat jemand noch eine andere Idee.
Was mir auch sehr komisch vorkommt: Im Standard-Skeleton gibt es kein “Porject” sondern nur ein “Project”.
Versuch’s doch bitte noch einmal mit der unveraenderten Original Vorlage (Skeleton). Vielleicht hast du ja auch irgendwo einen Fehler oder noch mehr Buchstaben-Verdreher im Code eingebaut…
Ach ja: und zwischendurch auch mal die temporaeren Ordner “output” und “build” (falls es sowas gibt) loeschen; denn ansonsten linkt der Linker nur die evtl. falschen Dateien immer und immer wieder (-> “Clean” before “Build”)
das mit den Leerstellen gilt übrigens auch für “Program Files”, wenn du einen Ordner “Programme” hast oder “Programs” würde ich für den Installationspfad der Tools/Programme dringend letztere empfehlen!
Dass du mit dem einfachen (nachtraeglichen) Umbenennen von “Program Files” in “ProgramFiles” wahrscheinlich dein System killst, brauche ich wohl wahrscheinlich nicht zu erwaehnen, tue es aber trotzdem vorsichtshalber