Show last authors
1 In dieser Anleitung geht es darum wie man den Eclipse Workspace für Selfbus einrichtet und ein eigenes Selfbus Projekt anfängt.
2
3 Voraussetzung für diese Anleitung ist dass man Eclipse mit SDCC Support installiert hat. Wie das geht findet man unter [[Eclipse mit SDCC aufsetzen>>doc:Selfbus.Eclipse_SDCC]].
4
5 Tipps zu GIT findet man viele im Internet, auch hier gibt es einen kleinen [[GIT Crashkurs>>doc:Selfbus.GIT_Anleitung]].
6
7 === GIT Repository clonen ===
8
9 Als ersten Schritt müssen wir zumindest das "software" Repository auschecken (was im GIT Jargon "clonen" genannt wird).
10
11 1. Dazu gehen wir im Eclipse auf das File Menü > Import > Git > Projects from Git.
12 1. Next anklicken
13 1. URI auswählen
14 1. Next
15 1. Oben in der Location entweder [[git@github.com:selfbus/software.git>>url:http://git@github.com:selfbus/software.git]] oder [[git:~~/~~/github.com/selfbus/software.git>>url:git://github.com/selfbus/software.git]] für anonymen nur-lesen Zugriff eintragen. Die URIs bekommt man vom Github Web Interface.
16 1. Next
17 1. Es erscheint eine Liste der verfügbaren Branches, wir wählen "master" aus.
18 1. Next
19 1. 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.
20 1. Next
21 1. 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.
22 1. Next
23 1. 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.
24 1. Finish
25
26 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.
27
28 === Projekt importieren ===
29
30 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.
31
32 1. Dazu gehen wir im Eclipse auf das File Menü > Import > General > Existing Projects into Workspace.
33 1. Next anklicken.
34 1. 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).
35 1. Ok
36 1. In der Liste das oder die zu importierenden Projekte auswählen.
37 1. Finish
38
39 === Projekt übersetzen ===
40
41 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.
42
43 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.
44
45 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>>doc:Selfbus.FlashMagic]].
46
47 === Neues Projekt anlegen ===
48
49 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.
50
51 1. Im Eclipse auf das Menü File > New > C Project
52 1. Dem Projekt einen Namen geben, z.B. mydevice
53 1. Die Checkbox "Use default location" abwählen
54 1. 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
55 1. Bei "Project type" wählen wir "MCS51 family (SDCC)" aus
56 1. Next anklicken
57 1. Meistgenügt es wenn man bei den Konfigurationen nur "Release" anwählt
58 1. "Advanced settings..." anklicken
59 1. C/C++ Build > Settings
60 1. SDCC Compiler: Command: sdcc -c ~-~-stack-auto
61 1. SDCC Compiler > Directories
62 Mit dem "+" Icon bei "Include paths" folgende Pfade hinzufügen:
63 1*. "${workspace_loc:/lib_lpc922/Releases}"
64 1*. "${workspace_loc:/com}"
65 1*. /usr/share/sdcc/include/mcs51Der letzte Pfad hängt von dem Ort ab wo SDCC installiert ist
66 1. SDCC Linker: Command: sdcc ~-~-stack-auto
67 1. SDCC Linker > Libraries
68 Mit dem "+" Icon bei "Libraries" fügen wir hier unsere Bus Library an:
69 1*. "${workspace_loc:/lib_lpc922/Releases/fb_lpc922_1.4x.lib}"
70 1. Das war's, "Ok" anklicken
71 1. Finish anklicken
72
73 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.