Ein eigenes Selfbus Projekt anfangen

Last modified by Stefan Taferner on 2016/08/21 19:30

In dieser Anleitung geht es darum wie man den Eclipse Workspace für Selfbus einrichtet und ein eigenes Selfbus Projekt anfängt.

Voraussetzung für diese Anleitung ist dass man Eclipse mit SDCC Support installiert hat. Wie das geht findet man unter Eclipse mit SDCC aufsetzen.

Tipps zu GIT findet man viele im Internet, auch hier gibt es einen kleinen GIT Crashkurs.

GIT Repository clonen

Als ersten Schritt müssen wir zumindest das "software" Repository auschecken (was im GIT Jargon "clonen" genannt wird).

  1. Dazu gehen wir im Eclipse auf das File Menü > Import > Git > Projects from Git.
  2. Next anklicken
  3. URI auswählen
  4. Next
  5. Oben in der Location entweder git@github.com:selfbus/software.git oder git://github.com/selfbus/software.git für anonymen nur-lesen Zugriff eintragen. Die URIs bekommt man vom Github Web Interface.
  6. Next
  7. Es erscheint eine Liste der verfügbaren Branches, wir wählen "master" aus.
  8. Next
  9. Oben im Directory ein passendes Verzeichnis für das Repository auswählen. Ich verwende direkt das Workspace Verzeichnis, dann steht dort /pfad/zum/Workspace/software.
  10. Next
  11. Jetzt können wir auswählen ob die bestehenden Projekte direkt ins Eclipse importiert werden sollen, bzw. welche davon. Oben "Import existing projects" auswählen.
  12. Next
  13. Die zu importierenden Projekte auswählen. Man kann minimal anfangen und alles abwählen (rechts der Knopf "Deselect All") bis auf "com" und "lib_lpc922". Später kann man die anderen Projekte einfach dazu holen.
  14. Finish

Danach kann man die Schritte für das Repository "software-incubation" wiederholen, wenn man das auch klonen möchte. Neue Projekte sollen auch in software-incubation angelegt werden. So gesehen empfiehlt sich das Klonen davon sowieso.

Projekt importieren

Wenn das Repository schon vorhanden ist und ein Projekt aber noch nicht ins Eclipse importiert wurde, dann kann man das ganz einfach so machen. Im Beispiel wollen wir das Projekt "Rauchmelder", das wir mit dem software Repository mit geklont haben, ins Eclipse holen.

  1. Dazu gehen wir im Eclipse auf das File Menü > Import > General > Existing Projects into Workspace.
  2. Next anklicken.
  3. Oben rechts auf "Browse..." klicken und das Verzeichnis des Projekts auswählen. In unserem Fall ist es das Verzeichnis "Rauchmelder" das sich im Verzeichnis "software" im Workspace befindet. (wenn im ersten Schritt das software Repository dorthin geklont wurde).
  4. Ok
  5. In der Liste das oder die zu importierenden Projekte auswählen.
  6. Finish

Projekt übersetzen

Zum übersetzen das Projekt anklicken (z.B. den Rauchmelder von vorhin) oder eine C Datei daraus öffnen und oben im Eclipse Toolbar auf den Hammer klicken. Alternativ geht es auch mit Strg+B.

Die erzeugte Firmware liegt danach im Projekt im Verzeichnis Release (bzw im Verzeichnis Debug wenn Debug aktiviert wurde). Unter Umständen sieht man dort nicht sofort alle Dateien. Dann das Verzeichnis (Release oder Debug) im Eclipse anklicken und F5 drücken.

Die Datei mit der Endung .hex ist die gesuchte Firmware. Sie kann jetzt z.B. mit Flash Magic auf den LPC übertragen werden. Wie das geht findet man in der Anleitung LPC programmieren mit Flash Magic.

Neues Projekt anlegen

Es ist so weit, wir wollen eine eigene Firmware schreiben. Am besten hat man schon das Repository software-incubation geklont, dann kann man die Firmware gleich darin anlegen und es geht später mit dem Einchecken einfach.

  1. Im Eclipse auf das Menü File > New > C Project
  2. Dem Projekt einen Namen geben, z.B. mydevice
  3. Die Checkbox "Use default location" abwählen
  4. Mit "Browse..." das software-incubation Verzeichnis im Workspace auswählen, danach den Pfad in Location manuell um den Namen des Projekts ergänzen. Dann sollte dort in etwa stehen: /pfad/zum/Workspace/software-incubation/mydevice
  5. Bei "Project type" wählen wir "MCS51 family (SDCC)" aus
  6. Next anklicken
  7. Meistgenügt es wenn man bei den Konfigurationen nur "Release" anwählt
  8. "Advanced settings..." anklicken
  9. C/C++ Build > Settings
  10. SDCC Compiler: Command:  sdcc -c --stack-auto
  11. SDCC Compiler > Directories
    Mit dem "+" Icon bei "Include paths" folgende Pfade hinzufügen:
    • "${workspace_loc:/lib_lpc922/Releases}"
    • "${workspace_loc:/com}"
    • /usr/share/sdcc/include/mcs51Der letzte Pfad hängt von dem Ort ab wo SDCC installiert ist
  12. SDCC Linker: Command: sdcc --stack-auto
  13. SDCC Linker > Libraries
    Mit dem "+" Icon bei "Libraries" fügen wir hier unsere Bus Library an:
    • "${workspace_loc:/lib_lpc922/Releases/fb_lpc922_1.4x.lib}"
  14. Das war's, "Ok" anklicken
  15. Finish anklicken

Jetzt haben wir ein leeres Projekt. Am besten von einem bestehenden Projekt die .c und .h Dateien in das neue Projekt kopieren und anpassen. In Zukunft wird es ein Beispiel Projekt geben das man dafür verwenden kann.