LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
- kupferstecher
- Beiträge: 431
- Registriert: Do 17. Nov 2016, 11:52
LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Den AVR-Wizard habe ich jetzt zu einem IDE-Plugin umgebaut, sodass man in Lazarus über "Projekt/Neu" ein AVR-Projekt erstellen kann. Inklusive Kommandozeile für den Programmieradapter. Installation des Plug-ins ganz normal als Package.
Download und Installationsanleitung auf Github:
https://github.com/kupferstecher/LazPackageEmbeddedAVR
Grüße~
Download und Installationsanleitung auf Github:
https://github.com/kupferstecher/LazPackageEmbeddedAVR
Grüße~
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Na hübsch!
Wie kommt denn das Plugin mit verschiedenen AVR-Subsystemen (avr25, avr4, avr5, avr51...) für die unterschiedlichen Controller (ATtiny, ATmega8, ATmega328, ATmega1284...) klar?
Wie kommt denn das Plugin mit verschiedenen AVR-Subsystemen (avr25, avr4, avr5, avr51...) für die unterschiedlichen Controller (ATtiny, ATmega8, ATmega328, ATmega1284...) klar?
- kupferstecher
- Beiträge: 431
- Registriert: Do 17. Nov 2016, 11:52
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Wie meinst du das mit den verschiedenen Subsystemen? Das Plugin erstellt nur ein Projekt, der passende Compiler muss schon (auch für die passenden Typen) installiert sein. Im Plugin ist eine Liste hinterlegt, welcher Controller welches Instruction-Set/Subsystem hat. Das Plugin trägt dann das passendene (z.B. avr4) in den Projekteinstellungen unter "Target processor (-Cp)" ein. Spezielle Bibliothekspfade für verschiedene Subsysteme werden im Projekt nicht angelegt, es wird davon ausgegangen, dass schon alles stimmt. Subsystemabhängige Bibliothekspfade kann man doch in der Compiler-Configdatei fpc.cfg festlegen?
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Hi,
ich habe Lazarus und fpc mit fpcupdeluxe erstellt. Hat soweit alles geklappt.
Danach habe ich in fpcupdeluxe "avr" und "embedded" ausgewählt und "Install cross-compiler" angeklickt.
Es gab einen neuen Ordner units/avr-embedded mit /rtl und /rtl-extra
Unter /rtl liegen die Dateien für die verschiedenen AVR's. Was jedoch fehlt ist atmega8 und atmega8a
Gleichzeitig habe ich in der Lazarus Installation den Ordner "cross/lib/avr-embedded/" mit den Sub Typen der AVR's...
Was habe ich falsch gemacht?
ich habe Lazarus und fpc mit fpcupdeluxe erstellt. Hat soweit alles geklappt.
Danach habe ich in fpcupdeluxe "avr" und "embedded" ausgewählt und "Install cross-compiler" angeklickt.
Es gab einen neuen Ordner units/avr-embedded mit /rtl und /rtl-extra
Unter /rtl liegen die Dateien für die verschiedenen AVR's. Was jedoch fehlt ist atmega8 und atmega8a
Gleichzeitig habe ich in der Lazarus Installation den Ordner "cross/lib/avr-embedded/" mit den Sub Typen der AVR's...
Was habe ich falsch gemacht?
Gruß, Michael
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Es gibt verschiedene "subsystems" für die unterschiedlichen AVR-Typen (https://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html). Standardmäßig installiert fpcupdeluxe das avr5-Subsystem. Der ATmega8 braucht das avr4-Subsystem.six1 hat geschrieben:Unter /rtl liegen die Dateien für die verschiedenen AVR's. Was jedoch fehlt ist atmega8 und atmega8a
Hier wird beschrieben, wie Du verschiedene Subsysteme parallel installierst: viewtopic.php?f=9&t=11718&hilit=avr
Bei fpxupdeluxe findest Du die Subsysteme unter Setup+ => Custom tools musst Du avr+embedded auswählen, dann bei Cross Build -Cavr4 eintragen, bei Cross SubArch avr4, und dann Crosscompiler neu installieren. Achtung, wenn Du den rtl-Ordner vorher nicht umbenennst, wird das alte Subsystem gelöscht.
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
..also so ganz verstehe ich es noch nicht. Der Grund hierfür ist nicht die Geschichte mit dem Umbennen der Ordner, eher, warum ich jetzt zwei Lokationen mit den Libs habe!
/cross/lib/avr-embedded
/fpc/units/avr-embedded
Wie ist der genaue Ablauf, Lazarus mit verschiedenen Cross compilern zu erstellen?
1) Lazarus und fpc kompilieren (in meinem Fall WIN10 / 32 Bit)
- muss jetzt hierbei schon in Setup+ bereits -Cavr5 und avr5 eingetragen werden? 2) weitere Cross Compiler nachinstallieren
-wie ist der Ablauf hierfür?
wenn ich hier auf der Hauptseite "avr" und "embedded" einstelle, in Setup+ -Cavr4 und avr4 und "install cross-compiler" anklicke, bekomme ich Fehlermeldungen!
Irgendwie habe ich noch keinen richtigen Plan 
/cross/lib/avr-embedded
/fpc/units/avr-embedded
Wie ist der genaue Ablauf, Lazarus mit verschiedenen Cross compilern zu erstellen?
1) Lazarus und fpc kompilieren (in meinem Fall WIN10 / 32 Bit)
- muss jetzt hierbei schon in Setup+ bereits -Cavr5 und avr5 eingetragen werden? 2) weitere Cross Compiler nachinstallieren
-wie ist der Ablauf hierfür?
wenn ich hier auf der Hauptseite "avr" und "embedded" einstelle, in Setup+ -Cavr4 und avr4 und "install cross-compiler" anklicke, bekomme ich Fehlermeldungen!
Code: Alles auswählen
Building compiler for embedded-avr (OPT: -O2 ) [CROSSOPT: -Cavr4 ] {SUBARCH: avr4}.
fpcupdeluxe: info: TAny_embedded-avr: found correct binary utilities in directory C:\LAZARUS_BASE\cross\bin\avr-embedded
fpcupdeluxe: info: TAny_embedded-avr: found correct library in directory C:\LAZARUS_BASE\cross\lib\avr-embedded\avr5
fpcupdeluxe: Start of compile error summary.
Error: Illegal parameter: -Cavr4
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCCrossInstaller (BuildModuleCustom: FPC): Running cross compiler fpc make all for avr-embedded failed with an error code.

Gruß, Michael
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Muss heissen -Cpavr4
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
jetzt habe ich mir so Mühe gegeben, alles schön darzustellen und du beantwortest meine FRAGEN mit 3 Worten...
ok -->geht

wobei die XMega Libs kann ich nicht compilieren..
also z.B. mit -Cpavrxmega2 und xmega2 Eintrag bricht fcupdeluxe mit Fehlermeldung ab
ok -->geht


wobei die XMega Libs kann ich nicht compilieren..
also z.B. mit -Cpavrxmega2 und xmega2 Eintrag bricht fcupdeluxe mit Fehlermeldung ab
Gruß, Michael
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Sorry, mit xmega hab ich noch nichts gemacht.
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Nach vielen Tests habe ich festgestellt, dass ich keine Lazarus Version zusammenschrauben kann, welche meine derzeitigen Projekt unter win32 und Linux i386 zulässt und gleichfalls die Cross-Compiler hat.
Dies liegt im Grunde daran, dass ich für die Cross-Compiler AVR die Trunc Version des fpc installieren muss (3.0.4 funktioniert nicht), ich aber an dieser Stelle Probleme mit Devart Bibliothek Probleme bekomme (SecureBridge Komponenten).
Also bleibt doch nur eine gesonderte Installation speziell für AVR.
Dies liegt im Grunde daran, dass ich für die Cross-Compiler AVR die Trunc Version des fpc installieren muss (3.0.4 funktioniert nicht), ich aber an dieser Stelle Probleme mit Devart Bibliothek Probleme bekomme (SecureBridge Komponenten).
Also bleibt doch nur eine gesonderte Installation speziell für AVR.
Gruß, Michael
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Ich hab momentan auch zwei Installationen: Die 3.2.x stable für Win/Linux-Projekte und die 3.3.x trunk für Tests und den AVR crosscompiler.
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Das Paket sieht recht gut aus. Habe gerade so meine ersten Schritte dazu gemacht.
Ich habe im Paket die Synapse Dateien gelöscht, da es nur Probleme gemacht hat, das ich zugleich eine Laz_Synapse installation über OPM habe. AVRDude habe ich ins Projekt kopieren müss und mir die Config (für AVRDude) über die Einträge von Mathias im Wiki geholt. Irgendwie hat das nicht funktioniert die Pfade für die Dateien anzugeben. Die Arduino Umgebung ist bei mir nicht im Pfad vorhanden.
Gibt es Pläne für eine Weiterentwicklung des Wizards ?!
BTW: Ich bin absoluter Neuling im AVR/Arduino Bereich
aber der Blinker von Mathias hat sofort funktioniert.
Gratulation an Mathias und Kupferstecher für die Arbeit

BTW: fpc fixes 3.2 und Laz fixes 2.0
Ich habe im Paket die Synapse Dateien gelöscht, da es nur Probleme gemacht hat, das ich zugleich eine Laz_Synapse installation über OPM habe. AVRDude habe ich ins Projekt kopieren müss und mir die Config (für AVRDude) über die Einträge von Mathias im Wiki geholt. Irgendwie hat das nicht funktioniert die Pfade für die Dateien anzugeben. Die Arduino Umgebung ist bei mir nicht im Pfad vorhanden.
Gibt es Pläne für eine Weiterentwicklung des Wizards ?!
BTW: Ich bin absoluter Neuling im AVR/Arduino Bereich








BTW: fpc fixes 3.2 und Laz fixes 2.0
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- kupferstecher
- Beiträge: 431
- Registriert: Do 17. Nov 2016, 11:52
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Hallo af0815,
den Installationskonflikt mit LazSynapse schau ich mir mal an. Allerdings hat mein Rechner am Wochenende das Zeitliche gesegnet und bis Ersatz da ist und eingerichtet, kanns dauern...
Wenn jemand ein Patentrezept zu dem Package-Thema weiß, bitte melden! Die Synaser-Dateien liegen momentan in einem eigenen Verzeichnis (werden mit dem Wizard-Package mitgeliefert), vermutlich kommt es zum Namenskonflikt, wenn die gleichen Dateien bereits in Lazarus installiert sind.
Unter Linux kenn ich mich nicht aus, ich meine aber es gibt einen speziellen Pfad (bin?), die darin befindlichen Programme sind von überall aufrufbar. Ein Symlink in besagtem Order zum Programm wenn es an anderer Stelle installiert ist, funktioniert genauso.
den Installationskonflikt mit LazSynapse schau ich mir mal an. Allerdings hat mein Rechner am Wochenende das Zeitliche gesegnet und bis Ersatz da ist und eingerichtet, kanns dauern...
Wenn jemand ein Patentrezept zu dem Package-Thema weiß, bitte melden! Die Synaser-Dateien liegen momentan in einem eigenen Verzeichnis (werden mit dem Wizard-Package mitgeliefert), vermutlich kommt es zum Namenskonflikt, wenn die gleichen Dateien bereits in Lazarus installiert sind.
Unter Windows kannst du den Pfad wo AVRDude installiert ist, also wo AVRDude.exe liegt, in die Umgebungsvariable "Path" aufnehmen. Dann kann AVRDude von überall aufgerufen werden. Einfach mal in der Konsole "avrdude" eingeben und schauen was passiert.af0815 hat geschrieben:AVRDude habe ich ins Projekt kopieren müss und mir die Config (für AVRDude) über die Einträge von Mathias im Wiki geholt.
Unter Linux kenn ich mich nicht aus, ich meine aber es gibt einen speziellen Pfad (bin?), die darin befindlichen Programme sind von überall aufrufbar. Ein Symlink in besagtem Order zum Programm wenn es an anderer Stelle installiert ist, funktioniert genauso.
Nicht konkret, Fehler möcht ich aber schon ausmerzen. Wenn es gute Ideen für Erweiterungen gibt, einfach sagen.Gibt es Pläne für eine Weiterentwicklung des Wizards ?!
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
ich habe die Synapse Dazeien gelöscht und laz_synapse als package aufgenommen, damit hat es sofort funktioniert. Das Package wird dann bei OPM gefunden.
zu AVRdude, ich habe es extra NICHT im Pfad. Deswegen der Umweg über den vollen Dateinamen inkl. Pfad. Ich schau mir das sowiso noch an, da ich aktuell mit Arduino herumbastel.
zu AVRdude, ich habe es extra NICHT im Pfad. Deswegen der Umweg über den vollen Dateinamen inkl. Pfad. Ich schau mir das sowiso noch an, da ich aktuell mit Arduino herumbastel.

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR
Das hat mich auch schon gewaltig Nerven gekostet. In Lazarus darf es keinen Dateinamen zweimal geben. Ich hab mir angewöhnt Package_Dateiname.pas zu nehmen.