Anleitung zum Mitmachen

Fachforen für Entwickler und Bastler
Benutzeravatar

Topic author
FredSonnenrein
Founder
Founder
Beiträge: 2317
Registriert: Fr 3. Jun 2016, 13:49
Wohnort: Braunschweig
Hauptanschluß: 8579924 hawe d

Anleitung zum Mitmachen

#1

Beitrag: # 1446Beitrag FredSonnenrein »

Einleitung

Für alle die, die auch bei der Projekt-Weiterentwicklung mitmachen möchten,
sind her ein paar Worte über die "Teilprojekte" enthalten.
Leider bin ich nicht in der Lage, hier eine komplette Einführung
zu schreiben. Hier stehen nur die Informationen, die ein erfahrener
Anwender braucht, um alles notwendige zusammen zu kratzen.
Einführung in die Programme Eagle und AvrStudio (und ggf. TortoiseSVN)
gibt es denke ich genug. Mit etwas Vorwissen sind die Programme aber
auch m.E. leicht bedienbar.

Projekt - Ablage im Netz (neudeutsch Hosting)

Alles was für dieses Projekt benötigt wird, ist auf einem offenen
"Subversion"-Server namens Sourceforge abgelegt.
Die Links zu den konkreten Speicherorten folgen unten, zum Herunterladen
entweder das komplette Packet mit "Download snapshot" als zip-Datei herunterladen
oder einzelne Dateien zuerst normal (!) anklicken und dann "download" wählen.
Noch besser ist es natürlich mit Subversion-Clients (z.B. TortoiseSVN)
zu arbeiten, aber das ist etwas für Fortgeschrittene.

Hardware

Benötigt wird die Software Eagle Version 6.x von der Firma CadSoft.
Leider scheint man diese alter Version nicht mehr offiziell bei CadSoft herunterladen zu können.
Mit Version 7.x lassen sich die Dateien aber auch öffnen und betrachten.

Zu finden sind alle Hardware-Unterlagen in
https://sourceforge.net/p/itelex/hardware/HEAD/tree/

Die meisten Unterlagen auch als PDF.

Software

Benötigt wird
- Compiler
- Entwicklungsumgebung (nicht zwingend)
- Programmiersoftware und Programmieradapter (außer für die i-Telex-Software)
- Meine Bibliotheken
- Quelltext

Compiler ist der avr-gcc in der Version 4.3.3.
Unter Windows ist er als "Komplettpaket" in WinAVR Version 20100110 bei Sourceforge
zu erhalten. Einfach unter Google nach WinAVR 2010 suchen.
Komischerweise läuft bei mir nur dann alles "glatt", wenn ich den Compiler in
C:\WinAVR-20100110\
installiere.

Als Entwicklungsumgebung verwende ich AvrStudio in Version 4.19 Build 730.
Download hier: http://www.atmel.com/images/AvrStudio4Setup.exe
Die Versionen 5.x und 6.x fand ich persönlich zu aufgeblasen und langsam.
7.x hab ich noch nicht probiert.

Es geht aber auch ohne das AvrStudio, dann braucht man nur einen Texteditor nach
eigenem Gusto (meine Empfehlung: Notepad++)

Programmiersoftware und Adapter

Entweder wird der im AvrStudio enthaltene Programmierfunktion verwendet (bedingt
aber einen AVR kompatiblen Programmieradapter wie den "Avr Isp mkII")
oder den AvrDude aus dem WinAVR-Packet, welcher etliche verschiedene
Programmieradapter unterstützt.

Bibliotheken

Jeder Programmierer hat seine Bibliotheken, so auch ich. Meine ist unter
https://sourceforge.net/p/fredslibrarie ... HEAD/tree/
Auf der lokalen Festplatte liegen diese bei mir unter "D:\Daten\AvrProgs\C-Libs".
Falls jemand einen anderen Pfad wählt, muss dieser im makefile zum i-Telex bzw.
in den AvrStudio Einstellungen (Include-Pfade) angepasst werden.

Software für alles außer Ethernetkarte

Diese Daten liegen hier.
https://sourceforge.net/p/itelex/misc-c ... ree/trunk/
Auf der lokalen Festplatte liegen diese bei mir unter "D:\Daten\AvrProgs\TxP2".
Falls jemand einen anderen Pfad wählt, müssen wieder händische Anpassungen
vorgenommen werden. Das makefile für diese Projekte lasse ich vom AvrStudio
erzeugen, man kann aber trotzdem die Projekte auch "direkt" durch Aufruf
von make kompilieren.
Hinweis: Bei vielen Projekten existieren unterschiedliche Kompilierungs-Varianten,
z.B. für "AltePlatine" oder "45 Baud".
Jede Variante hat sein eigenes Makefile, im AvrStudio sind verschiedene "Configurations"
wählbar.
Unter "Gemeinsam" sind Programmteile, die bei vielen / allen Schnittstellen
eingesetzt werden. Dort ist auch "TxP-Endgeraet.c" enthalten, welches als
Basis für eigene Entwicklungen genutzt werden kann.
Eine Datei ist nicht in dem Archiv bei Sourceforge enthalten. Dies ist
die Datei "SvnVersion.h" im Hauptverzeichnis. Bei mir wird diese Datei automatisch
mit der Versionsnummer aus Sourceforge generiert. Ersatzweise kann die
Datei README_SvnVersion.h in SvnVersion.h umbenannt werden.

Software für die Ethernet-Karte

Da dieses Projekt auf einem anderen Open Source Projekt aufsetzt, ist die
Softwarestruktur etwas anders. Download unter
https://sourceforge.net/p/itelex/code-0 ... ree/trunk/
Auf der lokalen Festplatte liegen diese bei mir unter "D:\Daten\AvrProgs\i-Telex".
In diesem Projekt wird ein "handgestricktes" makefile verwendet.
Alles für das i-Telex spezielle liegt im Unterverzeichnis "iTelex"
dieses Projekts. In "FastBoot" ist der Bootloader (völlig unabhängiges
Programm!) abgelegt. Der Rest ist (geringfügig angepasst) das Projekt "OpenMCP".

Eine Datei ist nicht in dem Archiv bei Sourceforge enthalten. Dies ist
die Datei "SvnVersion.h" im Hauptverzeichnis. Bei mir wird diese Datei automatisch
mit der Versionsnummer aus Sourceforge generiert. Ersatzweise kann die
Datei README_SvnVersion.h in SvnVersion.h umbenannt werden.

Grußworte

Allen die sich trauen hier mal hereinzuschnuppern wünsche ich viel Erfolg!

Wer geringfügige Fehler meldet kann sich gerne per PN bei mir melden, damit der
Thread nicht unnötig aufgeblasen wird.
Folgende Benutzer bedankten sich beim Autor FredSonnenrein für den Beitrag (Insgesamt 2):
ulbrichfFeTAp616
Grüße,
Fred Sonnenrein, Braunschweig
i-Telex 952741 (Lo133), 8579924 (T100s), 781272 (T100), 792911 (T68d) oder 531072 (T.typ.72)
Bei besetzt oder gestört bitte 531002 versuchen.
Benutzeravatar

ulbrichf
Rank 7
Rank 7
Beiträge: 699
Registriert: Sa 4. Jun 2016, 20:54
Wohnort: Grefrath, D
Hauptanschluß: 992158 ulbrichf d

Re: Anleitung zum Mitmachen

#2

Beitrag: # 1453Beitrag ulbrichf »

Hallo Fred,
vielen Dank für die Einführung. Du hast Dir viel Zeit genommen es zusammenzuschreiben.

Ich habe noch eine AVR Studio Version 4.18 auf meinem "E-Technik" Laptop entdeckt.
Ich werde mal versuchen, ob ich die Umgebung parametriert bekomme.
Mal sehen, ob ich irgendwie mit "C" klarkomme. Ich möchte den Watchdogs hinterspüren,
NNNN

Gruß
Frank Ulbrich / DO2FU / 92158 ulbrichf d / TeKaDe FS220z / T68D (offline) / T1000S (offline) / iTELEX Ethernet FW 897 / TW39PLUS FW 330 / seriell speicher version FW 346 / ED1000 FW 330
Benutzeravatar

ulbrichf
Rank 7
Rank 7
Beiträge: 699
Registriert: Sa 4. Jun 2016, 20:54
Wohnort: Grefrath, D
Hauptanschluß: 992158 ulbrichf d

Re: Anleitung zum Mitmachen

#3

Beitrag: # 1456Beitrag ulbrichf »

Hallo Fred,
ich habe gerade meine AVR Studio Installation auf Vordermann gebracht und die Trunks kopiert. Das Verzeichnis TxP2 habe ich aus dem nicht iTELEX Kartengedöns genommen, doch finden ich die "Moba-i2c-Net" Files nicht. Sag, kann ich das mir von irgendwo aus dem Internet kopieren ?
moba.JPG
elf.JPG
Sieht ja erstmal ganz gut aus...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
NNNN

Gruß
Frank Ulbrich / DO2FU / 92158 ulbrichf d / TeKaDe FS220z / T68D (offline) / T1000S (offline) / iTELEX Ethernet FW 897 / TW39PLUS FW 330 / seriell speicher version FW 346 / ED1000 FW 330
Benutzeravatar

ulbrichf
Rank 7
Rank 7
Beiträge: 699
Registriert: Sa 4. Jun 2016, 20:54
Wohnort: Grefrath, D
Hauptanschluß: 992158 ulbrichf d

Re: Anleitung zum Mitmachen

#4

Beitrag: # 1458Beitrag ulbrichf »

Hallo,
also das Projekt "SeriellUndSpeicher" der tw39 Karte konnte ich erfolgreich compilen.

Leider habe ich für die iTELEX Karte noch make Fehler, die ich nciht in den Griff bekomme.
Fred, häätest Du einen Tip was mit dem makefile sein könnte ? Ich dachte an falsche Pfadnamen,
weiß aber nicht Recht.
struktur.JPG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
NNNN

Gruß
Frank Ulbrich / DO2FU / 92158 ulbrichf d / TeKaDe FS220z / T68D (offline) / T1000S (offline) / iTELEX Ethernet FW 897 / TW39PLUS FW 330 / seriell speicher version FW 346 / ED1000 FW 330
Benutzeravatar

Topic author
FredSonnenrein
Founder
Founder
Beiträge: 2317
Registriert: Fr 3. Jun 2016, 13:49
Wohnort: Braunschweig
Hauptanschluß: 8579924 hawe d

Re: Anleitung zum Mitmachen

#5

Beitrag: # 1464Beitrag FredSonnenrein »

ulbrichf hat geschrieben: ich habe gerade meine AVR Studio Installation auf Vordermann gebracht und die Trunks kopiert. Das Verzeichnis TxP2 habe ich aus dem nicht iTELEX Kartengedöns genommen, doch finden ich die "Moba-i2c-Net" Files nicht. Sag, kann ich das mir von irgendwo aus dem Internet kopieren?
Dieses "other File" kannst du problemlos ber Rechtsklick - "Remove File from Project" herauskanten.

Die Kategorie "Other Files" dient nur dazu, regelmäßig verwendete Dateien schnell aufrufbar zu haben.

Aber die zweite Fehlermeldung wirft Rätsel auf. Hast du unter
Project -
Configuration Options -
Custom Options (links unten) -
Den Haken bei "use AVR Toolchain" abgeschaltet?
Bei den Pfaden sollte dann

avr-gcc: C:\WinAVR-20100110\bin\avr-gcc.exe
make: C:\WinAVR-20100110\utils\bin\make.exe

eingetragen sein.
Grüße,
Fred Sonnenrein, Braunschweig
i-Telex 952741 (Lo133), 8579924 (T100s), 781272 (T100), 792911 (T68d) oder 531072 (T.typ.72)
Bei besetzt oder gestört bitte 531002 versuchen.
Benutzeravatar

Topic author
FredSonnenrein
Founder
Founder
Beiträge: 2317
Registriert: Fr 3. Jun 2016, 13:49
Wohnort: Braunschweig
Hauptanschluß: 8579924 hawe d

Re: Anleitung zum Mitmachen

#6

Beitrag: # 1465Beitrag FredSonnenrein »

ulbrichf hat geschrieben: also das Projekt "SeriellUndSpeicher" der tw39 Karte konnte ich erfolgreich compilen.
Hä? Das Projekt "SeriellUndSpeicher" ist auf der TW39 Karte völlig fehl am Platz.

Zur i-telex-kompilierung:

Rufe mal aus einer "DOS-Box" im Verzeichnis "itelex-code-0-673-trunk" direkt "make" auf. Nicht aus dem AVR-Studio heraus.
Grüße,
Fred Sonnenrein, Braunschweig
i-Telex 952741 (Lo133), 8579924 (T100s), 781272 (T100), 792911 (T68d) oder 531072 (T.typ.72)
Bei besetzt oder gestört bitte 531002 versuchen.
Benutzeravatar

ulbrichf
Rank 7
Rank 7
Beiträge: 699
Registriert: Sa 4. Jun 2016, 20:54
Wohnort: Grefrath, D
Hauptanschluß: 992158 ulbrichf d

Re: Anleitung zum Mitmachen

#7

Beitrag: # 1483Beitrag ulbrichf »

Hallo Fred,
danke für die Infos. Die AVR Toolchain ist wie unten eizeigt eingestellt, daran scheint es nicht zu liegen.
avrchain.JPG
Wenn das MAKEFILE in der CMD augerufen wird, erhalte ich leider ebenfalls die Fehlermeldung.
make.JPG
Nun habe ich das MAKEFILE bezüglich des Eintrags "main.elf" bearbeitet und die Variable ersetzt, da dies an dieser Stelle unerklärlicherweise nicht wie erwartet funktioniert.
Off-Topic
# Link: create ELF output file from object files.
.SECONDARY : $(TARGET).elf
.PRECIOUS : $(OBJ)
%.elf: $(OBJ)
@echo
@echo $(MSG_LINKING) $@
$(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)

#hinzugefuegt, da es nicht mit der Variablen klappt
main.elf: $(OBJ)
@echo
@echo $(MSG_LINKING) $@
$(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)
Nach dem Anpassen des MAKEFILES geht es einen Schritt weiter.... nun scheinen includes nicht gefunden zu werden.
main_make.JPG
Nun muss ich herausfinden, ob die Pfade in dem MAKEFILE fehlen oder Dateien fehlen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
NNNN

Gruß
Frank Ulbrich / DO2FU / 92158 ulbrichf d / TeKaDe FS220z / T68D (offline) / T1000S (offline) / iTELEX Ethernet FW 897 / TW39PLUS FW 330 / seriell speicher version FW 346 / ED1000 FW 330
Benutzeravatar

ulbrichf
Rank 7
Rank 7
Beiträge: 699
Registriert: Sa 4. Jun 2016, 20:54
Wohnort: Grefrath, D
Hauptanschluß: 992158 ulbrichf d

Re: Anleitung zum Mitmachen

#8

Beitrag: # 1484Beitrag ulbrichf »

In dem MAKEFILE habe ich noch 2 Stellen gefunden, an welche ich die Pade erweitern mußte, damit beim compilen die fehlenden Dateien gefunden werden.
Off-Topic
# Add user C source files here.
SRC += iTelex/iTelex.c iTelex/TlnBuch.c iTelex/CgiFormTools.c iTelex/SwTwi.c iTelex/Protokoll.c iTelex/TlnServer.c iTelex/eMail.c iTelex/StringTab.c
# SRC += iTelex/RamCorrTest.c
# SRC += iTelex/RamCorrTestBlock.c
SRC += iTelex/ConfigNtp.c
SRC += iTelex/IspMaster.c

#Die SRC Dateien finde ich nicht im TRUNK. Hoffentlich gehen die aus TxP2
#SRC += iTelex/Gemeinsam/BusKomm.c iTelex/Gemeinsam/FifoPuffer.c iTelex/Gemeinsam/BaudotCode.c
SRC += ../TxP2/Gemeinsam/BusKomm.c ../TxP2/Gemeinsam/FifoPuffer.c ../TxP2/Gemeinsam/BaudotCode.c
und hier fehlte auch noch was
Off-Topic
# List any extra directories to look for include files here.
# Each directory must be seperated by a space.
# Use forward slashes for directory separators.
# For a directory that has spaces, enclose it in quotes.

#Hier fehlt noch ein Includeverzeichnis- Hoffentlich sind die Dateien darin richtig.
#EXTRAINCDIRS = ../C-Libs iTelex/Gemeinsam
EXTRAINCDIRS = ../C-Libs iTelex/Gemeinsam ../TxP2/Gemeinsam
So nun habe ich die Pfade ergänzt und das Resultat sieht dann wie folgt aus:
mainhex.JPG
Nun fragt sich, ob das Resultat auch funktionsfähig ist.... der Sourcecode wurde noch nicht verändert.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
NNNN

Gruß
Frank Ulbrich / DO2FU / 92158 ulbrichf d / TeKaDe FS220z / T68D (offline) / T1000S (offline) / iTELEX Ethernet FW 897 / TW39PLUS FW 330 / seriell speicher version FW 346 / ED1000 FW 330
Benutzeravatar

Topic author
FredSonnenrein
Founder
Founder
Beiträge: 2317
Registriert: Fr 3. Jun 2016, 13:49
Wohnort: Braunschweig
Hauptanschluß: 8579924 hawe d

Re: Anleitung zum Mitmachen

#9

Beitrag: # 1485Beitrag FredSonnenrein »

ulbrichf hat geschrieben:In dem MAKEFILE habe ich noch 2 Stellen gefunden, an welche ich die Pade erweitern mußte, damit beim compilen die fehlenden Dateien gefunden werden.
Off-Topic
# Add user C source files here.
SRC += iTelex/iTelex.c iTelex/TlnBuch.c iTelex/CgiFormTools.c iTelex/SwTwi.c iTelex/Protokoll.c iTelex/TlnServer.c iTelex/eMail.c iTelex/StringTab.c
# SRC += iTelex/RamCorrTest.c
# SRC += iTelex/RamCorrTestBlock.c
SRC += iTelex/ConfigNtp.c
SRC += iTelex/IspMaster.c

#Die SRC Dateien finde ich nicht im TRUNK. Hoffentlich gehen die aus TxP2
#SRC += iTelex/Gemeinsam/BusKomm.c iTelex/Gemeinsam/FifoPuffer.c iTelex/Gemeinsam/BaudotCode.c
SRC += ../TxP2/Gemeinsam/BusKomm.c ../TxP2/Gemeinsam/FifoPuffer.c ../TxP2/Gemeinsam/BaudotCode.c
und hier fehlte auch noch was
Off-Topic
# List any extra directories to look for include files here.
# Each directory must be seperated by a space.
# Use forward slashes for directory separators.
# For a directory that has spaces, enclose it in quotes.

#Hier fehlt noch ein Includeverzeichnis- Hoffentlich sind die Dateien darin richtig.
#EXTRAINCDIRS = ../C-Libs iTelex/Gemeinsam
EXTRAINCDIRS = ../C-Libs iTelex/Gemeinsam ../TxP2/Gemeinsam
Ach ja richtig. Wenn man die "original" Subversion-Archive herunterlädt, dann wird automatisch eine Kopie des TxP2/Gemeinsam Ordners nach i-Telex/iTelex/Gemeinsam kopiert.
Das kann man entweder auch händisch erledigen und das Original-Makefile beibehalten, oder man verwendet das von dir angepasste makefile.
ulbrichf hat geschrieben:Nun fragt sich, ob das Resultat auch funktionsfähig ist.... der Sourcecode wurde noch nicht verändert.
Du kannst ja mal die Original-Hex-Datei mit der von dir generierten vergleichen. Ganz identisch wird sie nicht sein, aber im Idealfall ist nur das Kompilier-Datum abweichend.

...und an die erste Fehlermeldung mit dem "no rule to make target 'main.elf' kann ich mich auch dunkel erinnern. Ich weiß nur noch, dass ich glaube ich nur eine "dummy" Datei main.elf anlegen musste. Aber wenn dein makefile es korrekt erledigt, um so besser.

Übrigens: Da der Bootloader ein eigenes Programm in einem geschützten Speicherbereich ist, kann auch eine defekte main.hex zum testen auf die i-Telex-Platine geladen werden. Selbst wenn die nicht lauffähig ist, der Bootloader ist immer mit einem harten Reset (Poweronoff) aktivierbar.
Grüße,
Fred Sonnenrein, Braunschweig
i-Telex 952741 (Lo133), 8579924 (T100s), 781272 (T100), 792911 (T68d) oder 531072 (T.typ.72)
Bei besetzt oder gestört bitte 531002 versuchen.
Benutzeravatar

ulbrichf
Rank 7
Rank 7
Beiträge: 699
Registriert: Sa 4. Jun 2016, 20:54
Wohnort: Grefrath, D
Hauptanschluß: 992158 ulbrichf d

Re: Anleitung zum Mitmachen

#10

Beitrag: # 1486Beitrag ulbrichf »

Hallo Fred,
hohooooo... ich habe es geschafft Deinen TRUNK 679 zu Compilen.
Das Ergebnis läßt sich flashen und funktioniert ... bis zum Reset 08. Es hat mit dem Compilen also funktioniert.
Danke für Deine Erklärungen.
modified.JPG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
NNNN

Gruß
Frank Ulbrich / DO2FU / 92158 ulbrichf d / TeKaDe FS220z / T68D (offline) / T1000S (offline) / iTELEX Ethernet FW 897 / TW39PLUS FW 330 / seriell speicher version FW 346 / ED1000 FW 330
Antworten

Zurück zu „Entwickler-Ecke“