Hallo Mikrocontroller-Community, erstmal vorweg: Ich bin Anfänger. Ich habe ein kleines Entwicklungsboard mit einem ATmega1281. Zur Programmierung unter Windows verwende ich AVR Studio und AVR Dragon und das funktioniert auch gut. Jetzt will bzw. soll ich Contiki verwenden aber das bereitet mir Probleme und die Tutorials, die ich gesehen habe sind schlicht unbrauchbar. Jetzt habe ich erstmal die Frage ob ich Contiki überhaupt verwenden kann auf meinem Board oder ob es wirklich nur die auf der Website angegebenen Plattformen unterstützt, wie z.B. AVR-Raven. Aber da der MCU ja der gleiche ist, sollte es ja auch auf meinem Board zumindest einigermaßen laufen, oder? Für Contiki habe ich mir nun Instant Contiki heruntergeladen aber ich kann mit dem make-Workflow nichts anfangen. Ich wollte das hello-world Beispiel kompilieren wie in der Anleitung auf http://www.contiki-os.org/start.html aber das geht natürlich nicht. Bei mir sieht das so aus: make TARGET=avr-raven hello-world -> erfolgreich make TARGET=avr-raven savetarget -> erfolgreich make hello-world.upload -> make: *** No rule to make target `hello-world.upload'. Stop Und überhaupt verstehe ich nicht, was beim ersten make überhaupt passiert. Ich habe dann die Dateien hello-world.avr-raven contiki-avr-raven.a und den Ordner obj_avr-raven Was sind das für Dateien? Wo ist mein Hex-File? Wie gesagt ich bin Anfänger und unter AVR Studio ist das iwie einfacher... Vielen Dank schon mal für eure Hilfe.
Hallo Obs, ich gucke mir auch gerade contiki an. Anscheinend muss man sich da recht intensiv reinarbeiten... Zu deinen Fragen: Wenn deine CPU unterstützt wird, musst du im Ordner cpu nichts tun. Da aber dein Board unbekannt ist, musst du unter platform/ eine neue anlegen. Wahrscheinlich ist das Einfachste, eine bestehende Plattform zu kopieren, umzubenennen und dann anzupassen. Beim "make TARGET=avr-raven hello-world" wird das example "hello-world" für die Plattform avr-raven gebaut, und zwar das elf-File (Datei hello-world.avr-raven). Darin ist alles enthalten (EEPROM-Inhalt und Programm). Um das Hex-File zu erzeugen: http://www.nongnu.org/avr-libc/user-manual/group__demo__project.html#demo_ihex Als Eingangsdatei musst du hello-world.avr-raven benutzen. Unter dem Link kannst du dir auch andere Infos zum avr-gcc ansehen, das lohnt sich. Gruß Christian
GRMPFF... Ich habe etwas gegen dieses Zeugs von Adam Dunkel. Lies dir mal seine tollen Betrachtungen zu seinen "Proto-Threads" durch. Eine Präprozessorakrobatik und Herumtrickserei, bei der es mir glatt die Sprache verschlagen hat. Was passiert eigentlich, wenn man Dunkels Quellen mal nem anderen Compiler gibt, der Case-Statements anders umsetzt oder anders optimiert? Ich weiß nicht, ob ich dir nen Rat geben soll, aber ich würde einfach die Finger davon lassen. Es gibt 1000 bessere Wege, einen uC zu programmieren. W.S.
Hey! Vielen Dank für die Antworten. Ja mittlerweile habe ich auch gemerkt, dass das ganze ziemlich tricky ist. Ich brauche halt ein OS, dass auf meiner Plattform läuft und 6LoWPAN unterstützt und da dies bei Contiki schon integriert ist, hat es sich angeboten Contiki du verwenden. Ein weiterer Vorteil ist, dass es für den Funkchip (AT86RF212) in meinem Hardwaremodul schon frei verfügbare Treiber für Contiki gibt. Aber Contiki ist wirklich schlecht dokumentiert und es gibt quasi keinen wirklichen Support außer die Mailingliste. Und auch gerade das, was du als Präprozessorakrobatik bezeichnest finde ich auch einfach nur lästig und der Begriff Präprozessorakrobatik trifft es auch wirklich sehr gut.
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.