PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe beim Compilieren einer C-Quelldatei erbeten



Vilem
11.04.2011, 18:21
Liebe ATMega-Profis,
Einsteiger möchte das Programm von Javik für den optical mouse sensor PAN 3101 (Programm-Quellcode siehe RN-Wissen > Sensoren > mouse sensor > 4.1) auf dem Asuro (ATMega-acht) verwenden.
Port-, Registerumbenennung, Datenausgabe auf dem Hyperterminal kriege ich vielleicht hin. Aber das Compilieren der Javik-Quelldatei mit dem Notepad2 klappt überhaupt nicht (error-Meldungen) ! ! !
Wer hilft mir bitte ? Welche #include-Dateien benötige ich ? Welches makefile, welche ... .bat-Dateien brauche zum Eintrag bei tools bei notepad2 ? Wo finde ich die zum download ? Kann ich evtl. das makefile und die test-all.bat und test-clean.bat von der Asuro-CD verwenden ?
Vielen Dank für Hilfe und Gruß
Vilem

TobiKa
11.04.2011, 20:39
Wenn du Error Meldungen bekommst, dann poste sie auch!

Vilem
13.04.2011, 10:31
Ich habe die Quelldatei von Javik "test.c" genannt. Aus der AsuroLib habe ich in denselben Ordner das makefile, make-all.bat und make-clean.bat kopiert und die entsprechenden tools im notepad2 eingerichtet.
Es kommen folgende Fehlermeldungen:18542
Größere und besser lesbare Darstellung siehe folgende Antwort !

Vilem
13.04.2011, 10:35
Hier ist die Fehlermeldung größer zu sehen:http://www.ferromel.de/fehler.htm

Hilfe, Hilfe, was fehlt da ? Erbitte für einen Einsteiger möglichst verständliche Antwort-Zuschrift.
Vielen Dank Gruß Vilem

Hubert.G
13.04.2011, 11:00
Es fehlen alle notwendigen #include Dateien wie #include <avr/io.h>

sternst
13.04.2011, 11:42
Und es fehlt eine Anpassung an die tatsächlich verwendete Hardware. Denn ein ATmega8 hat gar keinen PortA.

Vilem
14.04.2011, 20:01
Hallo,
vielen Dank für bisherige Antworten. Ich kann die <avr/io.h> include-Datei nicht finden. Wo kannn ich die downloaden ?
Ich weiß, die Quelldatei von Javik muß für den ATMega8 geändert werden, aber wenn ich die bisher schon nicht kompilieren kann, kann ich Änderungen bis dahin vergessen

SprinterSB
14.04.2011, 22:53
Die avr/io.h gehört zu deiner avr-gcc Installation. Wenn die nicht vorhanden ist, ist deine avr-gcc Installation defekt.

Das Vorhandensein genügt aber nicht, die Datei muss auch *verwendet* werden.

Dieser Header befindet sich unterhalb von
<AVR-GCC-INSTALL-DIR>/avr/include
diesem Falle also in
<AVR-GCC-INSTALL-DIR>/avr/include/avr/io.h

Welchen Code meinst du eigentlich? Das da?
http://www.rn-wissen.de/index.php/Maussensor#seriell_.C3.BCber_SDIO_2

Falls ja: Da hat wohl jemand einfach ein Copy-Past aus seinem Projekt raus gemacht. Ob du mit so einem aus dem Kontext gerissenen Schnippel glücklich wirst ist fraglich. Da wird auch stillschweigend anderes Zeug verwendet. Der Code kann bestenfalls als Arbeitsvorlage für jemanden dienen, der Erfahrung mit der Hardware (sowohl µC als auch Sensor) und dem Compiler hat.

Out-of-the-Box wird er nicht funktionieren; anfängertauglich ist er also nicht.

Noch was: Poste Text (Fehlermeldungen) als Text!

Vilem
15.04.2011, 12:03
Lieber SprinterSB,

vielen Dank für Deine Antwort, die mir erst mal schon ein bisserl weitergehofen hat.
ja ich meine den von Dir zitierten link und dachte, was im RN-Wissen abgelegt ist, sei auch abgesegnet. Ist vielleicht ein etwas zu dicker Happen für ein Noch-software-greenhorn (?). Mit der hardware kenne ich mich etwas besser aus. Den gleichen Code fand ich auch unter https://www.roboternetz.de/phpBB2/files/pan3101_und_rn-control.pdf . Dort sind vorneweg die include-Dateien: <stdlib.h>, <avr/io.h> und "rncontrol.h" zugefügt.
Sorry, die Include-Datei avr/io.h habe ich immer noch nicht gefunden ! Entweder habe ich ein Brett vorm Kopf oder bin auf einer ganz anderen Party. Ich habe WinAVR-20100110 mit dem Install-Assistenten neu installiert. Nach der Installation finde ich dann C:/WinAVR-20100110/.. mit einer Menge weiterer Unterordner, aber kein <AVR-GCC-INSTALL-DIR> ?
Hilfst Du mir noch mal weiter ? Gruß Vilem

sternst
15.04.2011, 13:01
Sorry, die Include-Datei avr/io.h habe ich immer noch nicht gefunden !Wozu willst du sie überhaupt finden? Hauptsache der Compiler findet sie.
Schreib "#include <avr/io.h>" hin, und gut.



Nach der Installation finde ich dann C:/WinAVR-20100110/.. mit einer Menge weiterer Unterordner, aber kein <AVR-GCC-INSTALL-DIR>"C:/WinAVR-20100110/" ist "<AVR-GCC-INSTALL-DIR>".

Vilem
15.04.2011, 13:23
Hallo Stefan,
Danke ! Jetzt versuche ich nochmal das Kompilieren.
Ich dachte immer, ich müsse alle include-Dateien, also auch die <avr/io.h> in denselben Ordner kopieren, in dem auch die Quelldatei steht. Das ist wohl nur bei den include-Dateien "...." (mit Gänsefüßchen) nötig ?
Gruß Vilem

radbruch
15.04.2011, 13:24
io.h ist im Unterverzeichniss "/avr/include/avr"

"" im selben Verzeichniss, <> im WinAVR-Pfad

Vilem
15.04.2011, 18:38
Danke, io.h endlich gefunden. Aber warum heißt das file in den Quelldateien immer <avr/io.h> und nicht einfach <io.h> (läßt sich ja wohl auch nicht umbenennen, weil der slash " / " im file Namen verboten ist.)

Kompilieren klappt noch immer nicht, weil mir wohl die PAN3101-Funktionen fehlen (?), die ich erstmal finden muß.
Vielen Dank an alle für Eure Hilfe, Gruß Vilem

BurningWave
15.04.2011, 18:46
"avr" ist der Unterordner des Includeverzeichnises des Compilers, in dem sich die Datei "io.h" befindet.