Ein eigenes Selfbus Projekt anfangen
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).
- Dazu gehen wir im Eclipse auf das File Menü > Import > Git > Projects from Git.
- Next anklicken
- URI auswählen
- Next
- 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.
- Next
- Es erscheint eine Liste der verfügbaren Branches, wir wählen "master" aus.
- Next
- 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.
- Next
- 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.
- Next
- 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.
- 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.
- Dazu gehen wir im Eclipse auf das File Menü > Import > General > Existing Projects into Workspace.
- Next anklicken.
- 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).
- Ok
- In der Liste das oder die zu importierenden Projekte auswählen.
- 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.
- Im Eclipse auf das Menü File > New > C Project
- Dem Projekt einen Namen geben, z.B. mydevice
- Die Checkbox "Use default location" abwählen
- 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
- Bei "Project type" wählen wir "MCS51 family (SDCC)" aus
- Next anklicken
- Meistgenügt es wenn man bei den Konfigurationen nur "Release" anwählt
- "Advanced settings..." anklicken
- C/C++ Build > Settings
- SDCC Compiler: Command: sdcc -c --stack-auto
- 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
- SDCC Linker: Command: sdcc --stack-auto
- 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}"
- Das war's, "Ok" anklicken
- 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.