AVR mit Lazarus OHNE Embedded

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

AVR mit Lazarus OHNE Embedded

Beitrag von Maik81SE »

Moin, Habe mich mal in hier durchgelesen, aber nix passendes Gefunden, was ich für meine Zwecke verwenden könnte, oder habe habe ich zugegeben nur ein Denkfehler?

Hintergrund:
Ich verwende zum Schreiben meiner AVRs Code:Blocks IDE und als Programmiergerät den DIAMEX-AVR

Habe mit dieser Kombination schon sehr viel Positive Erfahrung gesammelt und würde auch gerne auf dem DIAMEX-AVR weiter arbeiten wollen.
Ich habe vor einigen Tagen auch versucht, ob besagtes Gerät unter Arduino läuft, jedoch OHNE erfolg...

Ich habe zwar 3 Arduino liegen, jedoch sind diese für einen ATMeg1128 ungeeignet und dies ist jener, welcher für meine Zwecke mehr als ausreichend ist.

Hat da jemand eine Idee in der Rückhand, Lazarus auf genau dieses Typ zu erweitern?

EDIT
Effektiv brauch ich nach dieser Liste nur den avr5/avr51.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Timm Thaler
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: AVR mit Lazarus OHNE Embedded

Beitrag von Timm Thaler »

Was Du wolle? Sorry, das ist etwas konfus.

AVR geht mit Lazarus NUR embedded. Weil ja ein spezieller Maschinencode erstellt werden muss und nicht ein Programm, welches in einem OS läuft wie auf dem PC oder Raspi.

Bei den AVRs genau auf die Bezeichnung achten: Es gibt keinen ATmega1128. Es gibt einen ATmega128, aber nicht als Arduino. Es gibt einen ATmega1280 offenbar als Clone zum ATmega2560 auf dem Arduino-Mega-Board.

Es gibt auf dem Arduino Nano den ATmega328 - der ist aber laut Liste komischerweise nicht mit dem DIAMEX programmierbar. Eventuell gibt es ein Firmware-Update vom Hersteller des DIAMEX, denn obwohl der 328 relativ jünger ist als der 128, 88 oder andere ist er dennoch alt genug um von jedem gängigen Programmer unterstützt zu werden.

Programmieren im Sinne von Programm erstellen kannst Du nahezu jeden AVR ATtiny und ATmega mit Lazarus als AVR embedded.

Programmieren im Sinne von das Programm auf den Controller brennen kannst Du mit AVRdude (Kommandozeile), der grafischen Oberfläche AVRdudess oder AVR-Burn-o-mat, oder der Arduino-Software. Vorausgesetzt Dein Programmer unterstützt den Controller.

Programmieren kannst Du auch mit einem anderen Arduino der eine Programmer-Software aufgespielt hat (Henne-Ei-Problem), einem Raspberry Pi über die GPIOs (3.3V beachten).

Programmieren kannst Du auch über eine serielle oder parallele Schnittstelle mit Ponyprog.

Und Programmieren kannst Du einen Arduino Nano, Mega oder anderen über den USB-Port, vorausgesetzt der Arduino hat den richtigen Bootloader drauf. Was so sein sollte, aber bei China-Clones nicht selbstverständlich ist.

Also was genau hast Du für Controller und womit willst Du die programmieren?

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: AVR mit Lazarus OHNE Arduino

Beitrag von Maik81SE »

Programmieren im Sinne von das Programm auf den Controller brennen kannst Du mit AVRdude (Kommandozeile), der grafischen Oberfläche AVRdudess oder AVR-Burn-o-mat, oder der Arduino-Software. Vorausgesetzt Dein Programmer unterstützt den Controller.
Da bleib ich lieber bei AVRdude, aber danke für Burn-o-mat. Es hatte ich für die Fuse gesucht
Also was genau hast Du für Controller und womit willst Du die programmieren?
Controller ATmega 16/128 und Programmierer Adapter ist der DIAMEX-AVR USB ISP-Programmer.
Programmieren im Sinne von Programm erstellen kannst Du nahezu jeden AVR ATtiny und ATmega mit Lazarus als AVR embedded.
Also muß ich quasi nur den Cross vernünftig zum laufen bekommen und das möglichst OHNE die arduino Einbindung, auf welche in den anderen Beiträgen hingewiesen wird.
Zuletzt geändert von Maik81SE am Di 22. Dez 2020, 10:24, insgesamt 1-mal geändert.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
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: AVR mit Lazarus OHNE Embedded

Beitrag von af0815 »

Was für eine Arduino Einbindung? Lazarus Embedded ist Lazarus Embedded und hat nichts mit Arduino zu tun, ausser das man den Programmer aus dem Paket verwendet. Wo wird darauf so hingewiesen ?

Ich habe selbst ein Paket gemacht, das versucht so ähnlich komfortabel zu sein wie die Arduino IDE. Das Paket selbst hat aber nichts aus der Arduino IDE, keine Bezüge oder Bibliotheken davon. Geht auch angeblich nicht. Quellcoeähnlichkeiten sind durchaus mal gewünscht, aber mit Arduino hat das jetzt direkt nichts zu tun.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: AVR mit Lazarus OHNE Arduino

Beitrag von Maik81SE »

af0815 hat geschrieben:
Di 22. Dez 2020, 09:26
Was für eine Arduino Einbindung? Lazarus Embedded ist Lazarus Embedded und hat nichts mit Arduino zu tun, ausser das man den Programmer aus dem Paket verwendet. Wo wird darauf so hingewiesen ?

Ich habe selbst ein Paket gemacht, das versucht so ähnlich komfortabel zu sein wie die Arduino IDE. Das Paket selbst hat aber nichts aus der Arduino IDE, keine Bezüge oder Bibliotheken davon. Geht auch angeblich nicht. Quellcoeähnlichkeiten sind durchaus mal gewünscht, aber mit Arduino hat das jetzt direkt nichts zu tun.
Also verstehe ich quasi das AVR Embedded Tutorial - Entry Lazarus and Arduino wohl falsch.

Egal, wie ich nach passenden wegen suche, ich komme auf kurz oder lang, immer darauf.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

AVR mit Lazarus ---> Ablage P

Beitrag von Maik81SE »

So, hab mich gerade mal an FPCUPdeluxe versucht...
Das Ergebnis?

Bleib ich halt bei Code:Blocks IDE :D
Kenne ich und läuft ohne Probleme.

Error-Log ist schon mal an die Enwickler raus, vielleicht sehen die ja was, was ich nicht sehe.
Error-log v1-8-2h for i386-linux-gtk2.zip
(10.32 KiB) 125-mal heruntergeladen

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
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: AVR mit Lazarus OHNE Arduino

Beitrag von af0815 »

Maik81SE hat geschrieben:
Di 22. Dez 2020, 10:12
Also verstehe ich quasi das AVR Embedded Tutorial - Entry Lazarus and Arduino wohl falsch.
Ein klares Jaein. Das was du mit Lazarus erzeugst hat nichts mit mit Arduino zu tun. Es ist ganz einfach der Hexcode für den entsprechenden MCU (ATMEGA 16/128 wie du sagst) . Egal welcher auch. Deswegen muss man den Typ auch noch mit zB. -WpATMEGA328P beim Arduino UNO wie im Tutorial genauer spezifizieren. Bei dir wird der Typ halt ein anderer sein. Er muss allerdings vom FPC unterstützt werden.

Arduino kommt erst ins Spiel wenn es um den komfortablen Transfer auf den MCU geht. Und auch das, man die Treiber für den Transfer schon mal am PC hat.

Deswegen kommen im Tut die Sachen, die direkt mit Arduino zu tun haben erst im nach der Compilierung ausführen dran und dort geht es nur darum, wie der Hexcode in den MCU kommt. Wenn du natürlich ein Arduino kompatibles Board hast, geht es natürlich am einfachsten mit den beschriebene Workflow.

OHNE Arduino Umgebung: Lazarus/FPC erzeugen ganz einfach ein hex-File das du dann mit deinem Brenner an die richtige Stelle im MCU transferierst. Das heisst du must die Schritte mit deinem Diamex Adapter ausführen, das der Hex-Code in den MCU hineinkommt.

Um also für den MCU mit Lazarus zu kompilieren, brauchst du keine einzige Datei aus der Arduino Umgebung, auch keinen Arduino, sondern nur den MCU. Für den Rest bist nur du zuständig.


PS: MCU: Micro Controller Unit = Der reine Microkontroller ohne Beschaltung rundherum.

Edit: Für das Target embedded, ist nicht einmal ein AVR Voraussetztung, Das Target kann eine Menge mehr.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: AVR mit Lazarus

Beitrag von Maik81SE »

Danke für diese Aussage, aber da es bei mir an der Installation scheitert, werde ich das Thema nicht weiter im Auge halten.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
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: AVR mit Lazarus ---> Ablage P

Beitrag von af0815 »

Maik81SE hat geschrieben:
Di 22. Dez 2020, 11:50
So, hab mich gerade mal an FPCUPdeluxe versucht...
Das Ergebnis?

Bleib ich halt bei Code:Blocks IDE :D
Kenne ich und läuft ohne Probleme.

Error-Log ist schon mal an die Enwickler raus, vielleicht sehen die ja was, was ich nicht sehe.
make[7]: Verzeichnis „/home/pi/fpcupdeluxe/fpcsrc/rtl/linux“ wird betreten
/home/pi/fpcupdeluxe/fpcsrc/compiler/ppc2 -Ur -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../unix -Fii386 -FE. -FU/home/pi/fpcupdeluxe/fpcsrc/rtl/units/i386-linux -Fl/usr/lib/gcc/i686-linux-gnu/8 -Sg -vw-n-h-l-d-u-t-p-c- -DD2020/12/21 -di386 -dRELEASE -Us -Sg system.pp
make[7]: *** [Makefile:4356: system.ppu] Speicherzugriffsfehler
make[6]: *** [Makefile:2244: linux_all] Fehler 2
Worauf kompilierst du ? Ein i386 mit vielleicht nur 2 GB Ram ?
Ich lese da einen Speicherzugriffsfehler. Hast du ganz einfach zuwenig Speicher (und swap) am System bzw. nicht richtig konfiguriert ?

Alfred hat schon einiges an Infos in das File gepackt :-) Nur gehört das Thema in einen eigene Thread und nicht mit in den Thread wo es direkt um AVR mit Lazarus geht und nicht um fpcupdeluxe Probleme. Alfred liest im Forum oft mit, allerdings sollte auch die Threadüberschrift klar sein, damit er das sieht. :mrgreen:

Edit: was sagt: free -m -t auf der Konsole ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: AVR mit Lazarus ---> Ablage P

Beitrag von Maik81SE »

af0815 hat geschrieben:
Di 22. Dez 2020, 13:25
Maik81SE hat geschrieben:
Di 22. Dez 2020, 11:50
So, hab mich gerade mal an FPCUPdeluxe versucht...
Das Ergebnis?

Bleib ich halt bei Code:Blocks IDE :D
Kenne ich und läuft ohne Probleme.

Error-Log ist schon mal an die Enwickler raus, vielleicht sehen die ja was, was ich nicht sehe.
make[7]: Verzeichnis „/home/pi/fpcupdeluxe/fpcsrc/rtl/linux“ wird betreten
/home/pi/fpcupdeluxe/fpcsrc/compiler/ppc2 -Ur -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../unix -Fii386 -FE. -FU/home/pi/fpcupdeluxe/fpcsrc/rtl/units/i386-linux -Fl/usr/lib/gcc/i686-linux-gnu/8 -Sg -vw-n-h-l-d-u-t-p-c- -DD2020/12/21 -di386 -dRELEASE -Us -Sg system.pp
make[7]: *** [Makefile:4356: system.ppu] Speicherzugriffsfehler
make[6]: *** [Makefile:2244: linux_all] Fehler 2
Worauf kompilierst du ? Ein i386 mit vielleicht nur 2 GB Ram ?
Ich lese da einen Speicherzugriffsfehler. Hast du ganz einfach zuwenig Speicher (und swap) am System bzw. nicht richtig konfiguriert ?

Alfred hat schon einiges an Infos in das File gepackt :-) Nur gehört das Thema in einen eigene Thread und nicht mit in den Thread wo es direkt um AVR mit Lazarus geht und nicht um fpcupdeluxe Probleme. Alfred liest im Forum oft mit, allerdings sollte auch die Threadüberschrift klar sein, damit er das sieht. :mrgreen:

Edit: was sagt: free -m -t auf der Konsole ?
Laptop (8Gb) und Pi 4 4GB. Da beide Systeme als i386 bzw arm laufen komme ich effektiv nur auf je 4GB.

SWAP hab ich bei der Installation von Raspberry-Desktop auf beiden Systemen automatisch anlegen lassen...

Da du das aber gerade anschneidest, warum stehen diese in diesem Kontext wichtige Eckdaten nicht mit im Tutorial? :?: :idea:
Würde bestimmt einiges an Problemen im Vorfeld killen (meine Meinung)

Edit
pi@raspberry:~/Downloads $ free -m -t
total used free shared buff/cache available
Mem: 3405 676 1721 51 1007 2453
Swap: 3645 0 3645
Total: 7051 676 5367
pi@raspberry:~/Downloads $

kurz nach dem ich meinen Laptop neugestartet habe.

hab auch gleich nochmal die Settings zur Installation in das zip eingebunden, in der hoffnung, das ich nur eine fehlerhafte einstellung habe, welche hoffentlich nur überlesen wurde
Dateianhänge
FPCUPdeluxe-i386.zip
Einstellungen inkl. Log
(31.03 KiB) 113-mal heruntergeladen

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: AVR mit Lazarus OHNE Embedded

Beitrag von Maik81SE »

hmmm,

auf meinem Raspberry PI4 läuft die Installation ohne Probleme durch :shock:
zudem habe ich aber auch noch etwas festgestell, und Frage da mal, ob dies so gewollt ist?
Dateianhänge
Layout arm - Linux mit passenden Lazarus im HG
Layout arm - Linux mit passenden Lazarus im HG
2020-12-22-153733_2720x1080_scrot.png (189.28 KiB) 2967 mal betrachtet
Layout i386 - Linux
Layout i386 - Linux
2020-12-22-153600_1366x768_scrot.png (73.71 KiB) 2967 mal betrachtet

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
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: AVR mit Lazarus OHNE Embedded

Beitrag von af0815 »

Ich nehme an, es gibt ganz einfach keine Crosstools von ARM nach Embedded. Denn die Cross-Toolchains sind eine Voraussetzung für einen Cross-Compiler. Alfred hat bisher die abenteuerlichsten Cross-Toolchains zugänglich gemacht. Wer das schon mal probiert hat ohne fpcupdeluxe zu machen, weis was ich meine.

Wieso nimmst du die Variante Embedded, du baust ja keinen FPC für ein Embedded Target. Ich würde mal mit fixes FPC und fixes Lazarus anfangen und dann, wenn das läuft die Cross-Compiler erstellen lassen.

Übrigends steht in den Tutorials nur das, über das man gestolpert ist. Vulgo hat noch keiner die Probleme vor dir gehabt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: AVR mit Lazarus OHNE Embedded

Beitrag von sstvmaster »

@Maik81SE,

wieso installierst du eigentlich die Lazarus IDE im gleichen Verzeichnis wie fpcupdeluxe?
Ist zwar sicherlich kein Problem, denke ich. Ich würde es aber so nicht machen. Jm2C.
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

[Gelöst]: AVR mit Lazarus OHNE Embedded

Beitrag von Maik81SE »

sstvmaster hat geschrieben:
Di 22. Dez 2020, 17:17
@Maik81SE,

wieso installierst du eigentlich die Lazarus IDE im gleichen Verzeichnis wie fpcupdeluxe?
Ist zwar sicherlich kein Problem, denke ich. Ich würde es aber so nicht machen. Jm2C.
Wenn du die von der Repo meinst?
Die entsorg ich morgen von meinen beiden Systemen, da ich eben 2.0.10 via pcupdeluxe als i386-linux durchbekommen habe.
Wo es Installiert wird?
Nun, da, wo es von pcupdeluxe im default hin schreibt...

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
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: AVR mit Lazarus OHNE Embedded

Beitrag von af0815 »

Und was hast du jetzt anders gemacht ? Falls wer hergegoogelt wird, so hätte er gerne eine Lösung 8)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten