Jump to content

Recommended Posts

Geschrieben

Ich würde mich gern mal vorsichtig an die Aufgabe herantasten, mein IO4-Bricklet mit ein paar speziellen Funktionen zu erweitern. Sprich: private Extrawurst ohne öffentliches Interesse.

 

In der Docus steht etwas von Github und Clonen - aber muss ich das erstens verstehen und zweitens machen? Ich kann doch einfach die C-Sources so runterladen, wie sie dort zugänglich sind. Oder würde mir ohne das Clonen etwas fehlen?

 

Und wo ich beim Thema bin: wieviel des verfügbaren Speicherplatzes belegt die jetzige Firmware?

Geschrieben

Runterladen des Quellcodes sollte für dich äquivalent sein.

 

Klonen bedeutet, dass du Git benutzt um an den Quellcode zu gelangen, das ist ein Versionsverwaltungssystem. Der Nutzen in Git liegt an zwei Stellen:

- du kannst es auch für deinen Kram als Versionsverwaltung nutzen (vereinfacht: als Lösung zum Rückgängig machen von Änderungen und zum merken von funktionierenden Versionen)

- du könntest das ganze zeug auf diese Weise auch wieder anderen zugänglich machen (z.B. via Github)

 

Ist aber beides nciht zwingend nötig, insofern: ZIP ZIP!

Geschrieben

Danke, aber zum Rückgängigmachen genügt mir die Backup-Funktion meines Editors, und meinen Code braucht sowieso niemand, es geht um die Decodierung von 4 Tasten einer bestimmten Fernbedienung.

 

Geschrieben

Noch eine Frage: wie setze ich dies um, ohne GIT zu benutzen?

 

"Dann wird noch die bricklib benötigt, diese muss in den software/src/ Ordner der Firmware geclont werden (ein Symlink funktioniert auch)"

 

Ich habe die ZIP heruntergeladen und habe ein Verzeichnis "Tinkerforge-bricklib-2b5c016" mit Unterverzeichnissen und Dateien. Was genau davon soll ich in mein Projekt io4\software\src\ kopieren?

 

Wenn es mir gelungen ist, eine funktionierende Firmware zu kompilieren (erst mal ohne Modifikationen), schreibe ich gern eine Schritt-für-Schritt-Anleitung ins Wiki.

Geschrieben

Ich glaube, ich habe es rausgekriegt, und zwar anhand der #include-Zeilen in io.c. Demnach habe ich mir auch noch das Archiv "bricklet.lib" runtergeladen und so in meine Verzeichnisstruktur kopiert, dass die #include-Zeilen passen.

Geschrieben

Also überall wo "clonen" steht müsste auch "kopieren" funktionieren... (kopieren ist ja git-frei ^^)

 

Ich kann selbst auch nur raten, ich vermute im src-ordner muss dann das liegen was im bricklib-ordner war.

 

Also wird aus

Tinkerforge-bricklib-2b5c016/unterverzeichnis-oder-datei

io4/software/src/unterverzeichnis-oder-datei

 

Ist aber auch nur nach bestem Wissen und Gewissen geraten :D

Geschrieben

So weit, so gut.

 

Ich habe ein bisschen im Forum herumgesucht und bin auf dieses Thema gestoßen. Ich habe die dort erwähnte Installationsdatei arm-2011.09-69-arm-none-eabi.exe runtergeladen und installiert.

 

Was mir immer noch fehlt, ist das in generate_makefile.bat aufgerufene "cmake". Stattdessen gibt es ein cs-make, das aber die benutzen Optionen -E und -G bemeckert. Was tun?

 

Geschrieben

Runterladen? Danke für den Hinweis. In der Anleitung steht über den GCC, dass man ihn benötigt und runterladen muss. Über CMake steht da nur, dass er benötigt wird. Deshalb dachte ich, bei dem, was ich runtergeladen hatte, müsste alles dabei gewesen sein.

 

Geschrieben

Das sollte TF dann vielleicht nochmal klarstellen...

Falls du es nicht inzwischen selbst rausgefunden hast:

cmake ist dazu da, dass man auf mehreren Plattformen kompilieren kann, also cmake erzeugt dir am Ende deine Dateien zum bauen (z.B. makefiles unter linux oder csproj wenn du mit Visual Studio bauen möchtest).

Aber ich glaube da du auf den GCC angewiesen bist wirst du wohl am besten auf makefiles zurückgreifen wollen ^^

Wenn du unter Linux arbeitest dann passt das, ansonsten kann es dir auch passieren, dass du dir noch make besorgen musst. Alles Dinge von denen ich übrigens keine tiefe Ahnung habe :D

Geschrieben

Nun, das scheint noch eine relativ kleine Hürde gewesen zu sein. Also cmake runtergeladen und installiert. Dann wieder generate_makefile.bat aufgerufen.

 

Fehler: cmake vermisst ein Verzeichnis "build". Wie was wo? Zum Glück wird es etwas tiefer auf der Seite "Firmware und Plugins" erwähnt. Also "\build" im Verzeichnis ...\software angelegt. Dann wieder generate_makefile.bat aufgerufen.

 

Fehler: cmake vermisst im Verzeichnis \build eine Datei names CMakeLists.txt. Nach einigem Suchen finde ich sie in der ZIP-Datei des IO4. Dann wieder generate_makefile.bat aufgerufen.

 

Fehler: Could not find toolchain file: toolchains/arm-none-eabi.cmake Auf meinem Computer gibt es kein Verzeichnis "toolchains". Meine letzte Hoffnung: die ZIP-Datei. Tatsächlich: unter dem Verzeichnis "build". Schön, dann weiß ich ja sogar, wo das Zeug hingehört. Dann wieder generate_makefile.bat aufgerufen.

 

Ha! Mein Computer ist richtig am arbeiten!  :)

 

Zu früh gefreut:

CMake Error at CMakeLists.txt:30 (ADD_EXECUTABLE):
  add_executable called with incorrect number of arguments

-- Configuring incomplete, errors occurred!

CMake Error at CMakeLists.txt:32 (SET_TARGET_PROPERTIES):
  set_target_properties Can not find target to add properties to:
  io4-bricklet.elf

CMake Error at CMakeLists.txt:35 (SET_TARGET_PROPERTIES):
  set_target_properties Can not find target to add properties to:
  io4-bricklet.elf

CMake Error at CMakeLists.txt:40 (SET_TARGET_PROPERTIES):
  set_target_properties Can not find target to add properties to:
  io4-bricklet.elf

 

Ich glaube, ich muss an dieser Stelle mal wieder um Hilfe bitten.

Geschrieben

Ich habe keine Ahnung von diesem cmake-projekt, deswegen sollte photron oder so sich hier nochmal äußern. Von mir gibt es dennoch einen Versuch:

 

Grundsätzlich kann so ein cmake-script aus verschiedenen CMakeLists.txt bestehen. Es wäre also möglich, dass du die falsche erwischt hast. Versuche am besten eine im root-verzeichnis des zip-files zu finden.

Ansonsten finde ich es komisch, dass du sie im build-verzeichnis ablegen musstest.

 

Ich kenne das nur so:

Du hast eine Ordnerstruktur mit Quellcode (bei dir \software usw.) und legst dort einen build-ordner an. Jetzt gehst du in diesen build-ordner und rufst "cmake .." auf. Cmake legt jetzt alles zum kompilieren dort rein und du hast vorher nie etwas dort reingelegt. Aber vorsicht, das ist einfach nur so wie ich es kenne und das kann verdammt falsch sein :D Vielleicht wurdest du ja dennoch inspiriert ^^

Geschrieben

Ich hab's heute noch mal radikal versucht: nicht nach der try-und-error-Methode einzelne Dateien ausgepackt und kopiert, sondern (nachdem ich nun wusste, was gebraucht wird), ganze Verzeichnisse aus der ZIP-Datei auf die Festplatte gezogen. Und siehe da: es ging! Testweise mal schnell die Versionsnummer geändert, kompiliert und geflasht. Mein IO4 hat jetzt die Version 7.0.0  ;D

 

So und das alles steht jetzt im Wiki unter "Firmware".

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...