LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Rund um die LCL und andere Komponenten

LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Beitragvon kupferstecher » 25. Feb 2019, 11:43 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~
Dateianhänge
1.png
2.png
3.png
kupferstecher
 
Beiträge: 226
Registriert: 17. Nov 2016, 12:52

Beitragvon Timm Thaler » 25. Feb 2019, 20:29 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?
Timm Thaler
 
Beiträge: 970
Registriert: 20. Mär 2016, 23:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon kupferstecher » 26. Feb 2019, 13:40 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?
kupferstecher
 
Beiträge: 226
Registriert: 17. Nov 2016, 12:52

Beitragvon six1 » 28. Feb 2019, 14:21 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?
Gruß, Michael
six1
 
Beiträge: 110
Registriert: 1. Jul 2010, 19:01

Beitragvon Timm Thaler » 28. Feb 2019, 18:45 Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

six1 hat geschrieben:Unter /rtl liegen die Dateien für die verschiedenen AVR's. Was jedoch fehlt ist atmega8 und atmega8a


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.

Hier wird beschrieben, wie Du verschiedene Subsysteme parallel installierst: https://www.lazarusforum.de/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.
Timm Thaler
 
Beiträge: 970
Registriert: 20. Mär 2016, 23:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon six1 » 1. Mär 2019, 14:56 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?
laz1.png


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.
 


Laz2.png


Irgendwie habe ich noch keinen richtigen Plan :?
Gruß, Michael
six1
 
Beiträge: 110
Registriert: 1. Jul 2010, 19:01

Beitragvon Timm Thaler » 1. Mär 2019, 15:05 Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Muss heissen -Cpavr4
Timm Thaler
 
Beiträge: 970
Registriert: 20. Mär 2016, 23:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon six1 » 1. Mär 2019, 15:13 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 :lol: :lol:

wobei die XMega Libs kann ich nicht compilieren..

also z.B. mit -Cpavrxmega2 und xmega2 Eintrag bricht fcupdeluxe mit Fehlermeldung ab
Gruß, Michael
six1
 
Beiträge: 110
Registriert: 1. Jul 2010, 19:01

Beitragvon Timm Thaler » 1. Mär 2019, 16:23 Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Sorry, mit xmega hab ich noch nichts gemacht.
Timm Thaler
 
Beiträge: 970
Registriert: 20. Mär 2016, 23:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon six1 » 2. Mär 2019, 17:14 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.
Gruß, Michael
six1
 
Beiträge: 110
Registriert: 1. Jul 2010, 19:01

Beitragvon Timm Thaler » 2. Mär 2019, 18:22 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.
Timm Thaler
 
Beiträge: 970
Registriert: 20. Mär 2016, 23:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon af0815 » 17. Jun 2019, 16:45 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.

:D :D :D Gratulation an Mathias und Kupferstecher für die Arbeit :D :D :D :D

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).
af0815
 
Beiträge: 3762
Registriert: 7. Jan 2007, 11:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon kupferstecher » 17. Jun 2019, 19:35 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.

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 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.
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.

Gibt es Pläne für eine Weiterentwicklung des Wizards ?!

Nicht konkret, Fehler möcht ich aber schon ausmerzen. Wenn es gute Ideen für Erweiterungen gibt, einfach sagen.
kupferstecher
 
Beiträge: 226
Registriert: 17. Nov 2016, 12:52

Beitragvon af0815 » 17. Jun 2019, 21:44 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. :D
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3762
Registriert: 7. Jan 2007, 11:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon fliegermichl » 18. Jun 2019, 11:16 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.
fliegermichl
Lazarusforum e. V.
 
Beiträge: 395
Registriert: 9. Jun 2011, 09:42

» Weitere Beiträge siehe nächste Seite »
Nächste

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried