Lazarus embedded mit fpcupdeluxe geht nicht

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

Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Timm Thaler »

Ich versuche gerade eine Entwicklungsumgebung für AVR unter Windows mit fpcupdeluxe einzurichten und bekomme Fehlermeldungen, bei denen ich nicht weiterweiss.

Die Einstellungen sind FPC Version "embedded", Lazarus Version "1.6.4" (läuft bei mir schon für Win und Arm Linux). Als Installationsverzeichnis habe ich "C:\Tools\Lazarus_embedded".

fpcupdeluxe holt auch brav die Dateien ab, bricht dann aber mit der Meldung ab:

Code: Alles auswählen

fpcupdeluxe: ERROR: Tried to get FPC version from version.pas, but no version.pas found
fpcupdeluxe: info: FPCNativeInstaller (BuildModule: FPC): We have a FPC source (@ C:\Tools\Lazarus_embedded\fpcsrc) with version: 0.0.0
fpcupdeluxe: ERROR: Tried to get required bootstrap compiler version from Makefile.fpc, but no Makefile.fpc found
fpcupdeluxe: ERROR: Tried to get required bootstrap compiler version from Makefile.fpc, but no Makefile.fpc found
fpcupdeluxe: ERROR: Tried to get FPC version from version.pas, but no version.pas found
fpcupdeluxe: ERROR: FPCNativeInstaller (BuildModule: FPC): Could not determine required bootstrap compiler version. Should not happen. Aborting.
fpcupdeluxe: ERROR: Sequencer (fpc): Failure running fpcupdeluxe: error executing sequence fpc; line: 6, param: FPC
fpcupdeluxe: ERROR: Sequencer (Only): Failure running fpcupdeluxe: error executing sequence Only; line: 1, param: fpc
ERROR: Fpcupdeluxe fatal error !


Unter "C:\Tools\Lazarus_embedded\fpcsrc" finden sich die Verzeichnisse:

Code: Alles auswählen

.svn
arm-embedded
armiw
armthumb
avr32
avr32new
gcra
intrinsics
riscv
spc32


In den einzelnen Verzeichnissen gibt es durchaus jeweils makefile.fpc und compiler\version.pas, aber anscheinend schaut der Installer nur in fpcsrc und nicht in den Unterverzeichnissen.

Kann ich ihm das irgendwie beibringen?

Btw: Ich hab auch versucht den AVR Compiler von Hand einzurichten nach http://wiki.freepascal.org/AVR, http://www.lazarusforum.de/viewtopic.php?f=9&t=5444&start=30, http://forum.lazarus.freepascal.org/index.php/topic,30960.0.html und hab mir die binutils und avrdude und so Kram besorgt, aber auch dafür bin ich anscheinend zu doof. Das scheitert schon dran dass ich nicht weiss in welches Verzeichnis die Dateien jeweils müssen, und die fpcsrc für AVR brauch ich anscheinend auch irgendwo her.

Ich will doch nur nicht mehr AVRs in C programmieren müssen... :( Bitttteeee.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Mathias »

ch versuche gerade eine Entwicklungsumgebung für AVR unter Windows mit fpcupdeluxe einzurichten

Wo hast du dies gefunden, ich habe kein AVR bei meinem FPCUPdelux zur Auswahl. 8)

fpcupdeluxe holt auch brav die Dateien ab, bricht dann aber mit der Meldung ab:

Etwas später nochmals einen Versuch zu starten hat bei mir schon genützt. Ab und zu können verschieden Dateien nicht gefunden werden. (Server Offline )

und die fpcsrc für AVR brauch ich anscheinend auch irgendwo her.
Dies sind die normalen FPC-Sourcen.
Mit dieser Zeile habe ich es immerhin hingekriegt, eine "ppcrossavr" zu bauen.
Dabei müssen aber die Pfade angepasst werden, zB. die des Arduinos.

Code: Alles auswählen

make buildbase installbase CPU_TARGET=avr OS_TARGET=embedded SUBARCH=avr6 CROSSINSTALL=1 INSTALL_PREFIX=~/fpcupdeluxe_stable/fpc NOGDB=1 PP=/usr/bin/fpc CROSSBINDIR=/home/tux/Programme/arduino-1.8.3/hardware/tools/avr/avr/bin/


hab mir die binutils und avrdude und so Kram besorgt

Das Arduino-Pack geht dafür auch.

Ich will doch nur nicht mehr AVRs in C programmieren müssen... :( Bitttteeee.

Das will ich auch. :wink:

Ein kleiner Trost habe ich, wen die die Arduino-IDE zu mühsam ist, probiere mal sloeber aus, ist zwar auch in C++, aber die Bedienung ist um einiges komfortabler.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Timm Thaler »

Mathias hat geschrieben:Wo hast du dies gefunden, ich habe kein AVR bei meinem FPCUPdelux zur Auswahl.


Ich hab unter FPC Embedded ausgewählt, da sollen die AVRs dabei sein. Allerdings hab ich jetzt nur Verzeichnisse für AVR32, vielleicht sind die 8bitter da nicht mit drin.

Mathias hat geschrieben:(... fpcsrc für AVR brauch ich anscheinend auch irgendwo her.) Dies sind die normalen FPC-Sourcen.


Aber warum sind dann in jedem Unterverzeichnis unter embedded\fpcsrc nochmal die Sourcen drin? Die sind doch nicht alle gleich, die müssen doch an die verschiedenen Targets (ARM, AVR, STM...) angepasst sein. Oder hab ich da einen Denkfehler?

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Mathias »

Ich hab unter FPC Embedded ausgewählt,

Dies ist etwas anders. Es müsste etwas von AVR bei CPU oder OS stehen.

Aber warum sind dann in jedem Unterverzeichnis unter embedded\fpcsrc nochmal die Sourcen drin? Die sind doch nicht alle gleich, die müssen doch an die verschiedenen Targets (ARM, AVR, STM...) angepasst sein. Oder hab ich da einen Denkfehler?

Die Unit müsste je nach Plattform andere Inhalte haben.
Wen man zB. die Unit system von MSDOS anguck, sieht man solche Sachen:

Code: Alles auswählen

{ Default memory segments (Tp7 compatibility) }
  seg0040: Word = $0040;
  segA000: Word = $A000;
  segB000: Word = $B000;
  segB800: Word = $B800;

So was gibt es unter modernen OS nicht mehr.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Timm Thaler »

Ok, den Verzeichnisnamen nach machst Du das make in Linux.

Wenn ich die binutils auf dem Raspberry installiert haben (mit apt-get), wo liegen die dann? Eigentlich müsste ich die doch verwenden können, ohne erst Arduino installieren zu müssen. Aber ich finde nur die Dokus unter /usr/share/docs/binutils und /binutils-avr.

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: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Timm Thaler »

Mathias hat geschrieben:

Code: Alles auswählen

make buildbase installbase CPU_TARGET=avr OS_TARGET=embedded SUBARCH=avr6 CROSSINSTALL=1 INSTALL_PREFIX=~/fpcupdeluxe_stable/fpc NOGDB=1 PP=/usr/bin/fpc CROSSBINDIR=/home/tux/Programme/arduino-1.8.3/hardware/tools/avr/avr/bin/


Das scheitert bei mir schon an "make kann buildbase / installbase nicht finden". Wo sollen die denn stehen?

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Mathias »

In der Makefile.
Wo hast du make aufgerufen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Timm Thaler »

In fpcsrc, da gibts aber kein avr-embedded im makefile. In rtl\embedded gibts ein avr-embedded im makefile, aber kein buildbase und installbase.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Mathias »

Du musst meine Zeile direkt in fpcsrc ausführen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Timm Thaler »

Mathias hat geschrieben:Du musst meine Zeile direkt in fpcsrc ausführen.


Nee, das geht nicht, vielleicht ist meine Version zu alt. Mach gerade eine neue Installation aus dem aktuellem Trunk.

Laut http://free-pascal-general.1045716.n5.nabble.com/Error-cross-compiling-trunk-for-AVR-td5728883.html ist der Compiler aber für AVRs gerade kaputt.

Welche fpc Version hast Du genommen?

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Mathias »

Die aktuelle stable.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Timm Thaler »

Die aktuelle Stable ist bei mir Laz 1.6.4 und FPC 3.0.2. Die geht aber gar nicht, da meckert das Make über die fehlende buildbase und installbase.

Was geht ist der aktuelle Trunk mit Laz 1.9 und FPC 3.1.1. Da habe ich einen avr-embedded im makefile, unter fpcsrc\rtl\embedded\avr ganz viele atmegaxxx.pp und kann make ausführen wie es bei Dir steht, Pfade auf Win angepasst. Allerdings kommt dann nach ganz vielen makes

Code: Alles auswählen

c:/Tools/Lazarus/fpcsrc/compiler/ppcrossavr.exe -Cpavr6 @rtl.cfg -Ur -Tembedded
-Pavr -Ur -Xs -O2 -n -Fi../inc -Fi../avr -FDc:\Tools\Lazarus\cross\bin\avr-embed
ded\ -FE. -FUc:/Tools/Lazarus/fpcsrc/rtl/units/avr-embedded -davr -dRELEASE -O2
-Us -Sg system.pp
avr.inc(29,1) Fatal: Internal error 2013051401
Fatal: Compilation aborted
make[3]: *** [system.ppu] Error 1
make[3]: Leaving directory `c:/Tools/Lazarus/fpcsrc/rtl/embedded'
make[2]: *** [embedded_all] Error 2
make[2]: Leaving directory `c:/Tools/Lazarus/fpcsrc/rtl'
make[1]: *** [rtl_all] Error 2
make[1]: Leaving directory `c:/Tools/Lazarus/fpcsrc'
make: *** [base.build-stamp.avr-embedded] Error 2


In der Zeile 29 in avr.inc steht einfach nur "begin".

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Mathias »

unter fpcsrc\rtl\embedded\avr ganz viele atmegaxxx.pp und kann make ausführen wie es bei Dir steht,

Komisch, bei hat es nur ein atmega128.pp. :roll: Vielleicht liegt das daran, das bei der Trunk mehr Typen unterstützt werden.

Das nach einem Aufruf von ppcrossavr noch etwas von make[x] steht ist komisch, sowa kommt normalerweise nur wen man "make" aufruft.

Code: Alles auswählen

$ ./ppcrossavr test.pas 
Free Pascal Compiler version 3.0.2-r1:35394 [2017/08/25] for avr
Copyright (c) 1993-2015 by Florian Klaempfl and others
Target OS: Embedded
Compiling test.pas
Assembling test
test.pas(4) Error: Assembler avr-embedded-as not found, switching to external assembling
test.pas(4) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted

Kompilieren würde er jetzt bei mir, jetzt müsste ich mal nach der "avr-embedded-as" suchen.
Das Problem man muss sich bei Atmel registrieren. :evil:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

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: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Timm Thaler »

Mathias hat geschrieben:Kompilieren würde er jetzt bei mir, jetzt müsste ich mal nach der "avr-embedded-as" suchen.


https://svn.freepascal.org/svn/fpcbuild/binaries/i386-win32/

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von Mathias »

Schade, nur Windows-Versionen, ansonsten ist die Auswahl gross.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten