Lazarus embedded mit fpcupdeluxe geht nicht

DonAlfredo
Beiträge: 74
Registriert: Do 28. Sep 2017, 10:26

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von DonAlfredo »

If you have deleted ~/fpcupdeluxe, than everything is gone !
No FPC, no FPC sources, no Lazarus, no nothing !!
Now you have to use fpcupdeluxe to perform a normal install first.

PS: Bist du der Entwickler von fpcupdelux ?

No, I am the maintainer since the last two years. Its based on BigChimps work.
http://forum.lazarus.freepascal.org/ind ... 726.0.html

Mathias
Beiträge: 6204
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 »

Jetzt hat er ein ansistr-Problem.

Code: Alles auswählen

Building compiler for embedded-avr (OPT: -O2 ) [CROSSOPT: -Cpavr51 ] {SUBARCH: avr51}.
objpas.pp(175,24) Fatal: Unknown compilerproc "fpc_ansistr_to_shortstr". Check if you use the correct run time library.
/home/tux/fpcupdeluxe/fpcsrc/compiler/ppcrossavr @rtl.cfg -Ur -Tembedded -Pavr -XPavr- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../avr -FD/usr/bin -FE. -FU/home/tux/fpcupdeluxe/fpcsrc/rtl/units/avr-embedded -vw-n-h-l-d-u-t-p-c- -O2 -XPavr- -Cpavr51 -davr -dRELEASE -XPavr- -Cpavr51 -I../objpas ../objpas/objpas.pp
Fatal: Compilation aborted
objpas.pp(175,24) Fatal: Unknown compilerproc "fpc_ansistr_to_shortstr". Check if you use the correct run time library.
fpcupdeluxe: ERROR: FPCCrossInstaller (BuildModuleCustom: FPC): Running cross compiler fpc make all for avr-embedded failed with an error code.
Dateianhänge
output2.txt
(99.16 KiB) 143-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

DonAlfredo
Beiträge: 74
Registriert: Do 28. Sep 2017, 10:26

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von DonAlfredo »

I have seen the same error with FPC 3.0.2.
I had more luck with trunk FPC.

This is also the best way to use fpcupdeluxe:
*) use available install methods for stable versions of FPC and Lazarus.
*) use fpcupdeluxe for bleeding edge (trunk/risky) installs of FPC and Lazarus with some nice extras.

DonAlfredo
Beiträge: 74
Registriert: Do 28. Sep 2017, 10:26

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von DonAlfredo »

V1.4.0r: added i8086/MSDOS at target (only for trunk).

Mathias
Beiträge: 6204
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 »

Mit der Trunk, ist MSDOS und auch mit avr/embedded + Setup+ - einstellungen, ist fpcupdelux ohne Fehler durchgelaufen.

Wen ich dann bei Lazaurs ein einfaches Programm erstelle, scheint alles zu klappen.
Anschliessend kann ich Plattform MSDOS oder AVR ohne Fehlermeldung auswählen.

Nur kompilieren tut er nicht, da wird mit folgenden Fehler abgebrochen.

Bei MSDOS:

Code: Alles auswählen

Projekt kompilieren, OS: msdos, CPU: i8086, Ziel: /home/tux/fpcupdeluxe/projects/project1: Exit code 256, Fehler: 1
Fatal: Can't find unit lnfodwrf used by Project1


Bei AVR:

Code: Alles auswählen

Projekt kompilieren, OS: embedded, CPU: avr, Ziel: /home/tux/fpcupdeluxe/projects/project1: Exit code 256, Fehler: 1
Fatal: Can't find unit lnfodwrf used by Project1


Irgendwie scheint er Probleme mit lnfowrf zu haben, was auch immer dies ist.

Ich habe noch win32/i386 und arm/linux probiert, diese Plattformen werden anstandslos kompiliert.
Zuletzt geändert von Mathias am Sa 30. Sep 2017, 18:19, insgesamt 1-mal geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 4890
Registriert: Fr 8. Apr 2011, 09:01

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von wp_xyz »

[quote="Mathias"]

Code: Alles auswählen

Projekt kompilieren, OS: msdos, CPU: i8086, Ziel: /home/tux/fpcupdeluxe/projects/project1: Exit code 256, Fehler: 1
Fatal: Can't find unit lnfodwrf used by Project1

Heißt das "Infodwrf" (mit großen i) oder "lnfodwrf" (mit kleinem L)? Hier sieht es aus wie letzteres, aber "info" würde mehr Sinn machen. Vielleicht ist da irgendwo ein Tippfehler...

Mathias
Beiträge: 6204
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 »

Heißt das "Infodwrf" (mit großen i) oder "lnfodwrf" (mit kleinem L)? Hier sieht es aus wie letzteres, aber "info" würde mehr Sinn machen. Vielleicht ist da irgendwo ein Tippfehler...

Von mir sicher ein Tippfehler. :oops: oder auch nicht ! :roll:

In meine fpc-sourcen gibt es eine lnfodwrf Unit, mit kleinem L geschrieben.

Anscheinend sehen im Forum die IIIIllll gleich aus. :roll:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

DonAlfredo
Beiträge: 74
Registriert: Do 28. Sep 2017, 10:26

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von DonAlfredo »

Build without debugging !
Unit lnfodwrf is needed by the debugger ... any help on this subject would be appreciated.

Mathias
Beiträge: 6204
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 »

DonAlfredo hat geschrieben:Build without debugging !
Unit lnfodwrf is needed by the debugger ... any help on this subject would be appreciated.

Ohne die Debuggerinfo, kann ich ein einfaches "Hello World" kompilieren. Bei MSDOS bekomme ich eine exe und bei AVR eine HEX, wie erwartet.


Betrifft AVR:

Jetzt muss ich es nur noch hinkriegen die HEX auf den Arduino-Nano zu laden.
Nur das habe ich mit avrdude noch nicht hingekriegt. so wie ich es hier schon geschrieben habe, bevor du dein erstes Post gemacht hast. viewtopic.php?f=15&t=11044&start=30

Irgendwie werde ich dies schon noch hinkriegen. :wink:
Wen dies mal läuft kann man sicher in Lazarus so etwas ähnliches machen:

Code: Alles auswählen

/usr/bin/averude -bla -bla $(TargetCmdLine)




Betrifft MSDOS:

Unter Startprogramm noch folgendes reinschreiben "/usr/bin/dosbox $(TargetCmdLine)", dann wird einem sogar noch die DOSBox geöffnet.
Bei Ziel-Dateiname (-o) noch ein .exe hinter die Datei.
Nur habe ich da trotzdem noch ein Problem.
Ich habe ein altes Turbo-Pascal-Programm welches den Paramter "-WmLarge" braucht.

Mit dem Cross-Compiler musste ich dies so kompilieren:

Code: Alles auswählen

c:\FPC\3.0.2\bin\i386-win32\ppcross8086.exe pacman.lpr -WmLarge
pause
C:\Programme\DOSBox-0.74\DOSBox.exe pacman.exe

Der Cross-Compiler hatte ich von hier: https://www.freepascal.org/down/i386/win32-austria.var

Ich habe versucht unter Lazarus folgendes einzustellen, siehe Anhang.
Nur dann kann er die Unit system nicht finden.

Code: Alles auswählen

Projekt kompilieren, OS: msdos, CPU: i8086, Ziel: PACMAN: Exit code 256, Fehler: 1
Fatal: Can't find unit system used by pacman
Dateianhänge
Bildschirmfoto vom 2017-10-01 18-19-02.png
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 »

Brennen kannst Du mit avrdude, wenn Du eine grafische Oberfläche willst: Ich nehm den AVR8 Burn-O-Mat. Läuft auch auf dem Raspi und die Fuses lassen sich sehr bequem einstellen.

Mathias
Beiträge: 6204
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 »

Timm Thaler hat geschrieben:Brennen kannst Du mit avrdude, wenn Du eine grafische Oberfläche willst: Ich nehm den AVR8 Burn-O-Mat. Läuft auch auf dem Raspi und die Fuses lassen sich sehr bequem einstellen.

Irgendwas ist total Faul.
Ich habe bewusst bei beiden Varianten die gleiche HEX genommen, somit ist ausgeschlossen, das es an dieser liegt.
Wen ich mit slober (Arduino Eclipse) mein sketch hochlade, kommt folgende Meldung:

Code: Alles auswählen

Starting upload
using arduino loader
Starting reset using DTR toggle process
Toggling DTR
Continuing to use/dev/ttyUSB0
Ending reset
 
 
Launching/home/tux/Programme/sloeber//arduinoPlugin/packages/arduino/tools/avrdude/6.3.0-arduino9/bin/avrdude -C/home/tux/Programme/sloeber//arduinoPlugin/packages/arduino/tools/avrdude/6.3.0-arduino9/etc/avrdude.conf -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D -Uflash:w:/home/tux/sloeber/nano_test/Release/nano_test.hex:i
Output:
 
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.00s
 
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "/home/tux/sloeber/nano_test/Release/nano_test.hex"
avrdude: writing flash (926 bytes):
 
Writing | ################################################## | 100% 0.30s
 
avrdude: 926 bytes of flash written
avrdude: verifying flash memory against /home/tux/sloeber/nano_test/Release/nano_test.hex:
avrdude: load data flash data from input file /home/tux/sloeber/nano_test/Release/nano_test.hex:
avrdude: input file /home/tux/sloeber/nano_test/Release/nano_test.hex contains 926 bytes
avrdude: reading on-chip flash data:
 
Reading | ################################################## | 100% 0.22s
 
avrdude: verifying ...
avrdude: 926 bytes of flash verified
 
avrdude done.  Thank you.
 
avrdude finished
upload done


Rufe ich dies manuell auf, die Pfade sind somit die gleichen wie unter sloeber, somit müsste eigentlich das gleiche passieren, tut es aber nicht.
Es kommt die komische safemode Meldung. :roll:

Code: Alles auswählen

$ /home/tux/Programme/sloeber//arduinoPlugin/packages/arduino/tools/avrdude/6.3.0-arduino9/bin/avrdude -C/home/tux/Programme/sloeber//arduinoPlugin/packages/arduino/tools/avrdude/6.3.0-arduino9/etc/avrdude.conf -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D -Uflash:w:/home/tux/sloeber/nano_test/Release/nano_test.hex:i 
 
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.00s
 
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "/home/tux/sloeber/nano_test/Release/nano_test.hex"
avrdude: writing flash (926 bytes):
 
Writing | ################################################## | 100% 0.30s
 
avrdude: 926 bytes of flash written
avrdude: verifying flash memory against /home/tux/sloeber/nano_test/Release/nano_test.hex:
avrdude: load data flash data from input file /home/tux/sloeber/nano_test/Release/nano_test.hex:
avrdude: input file /home/tux/sloeber/nano_test/Release/nano_test.hex contains 926 bytes
avrdude: reading on-chip flash data:
 
Reading | ################################################## | 100% 0.22s
 
avrdude: verifying ...
avrdude: 926 bytes of flash verified
 
avrdude: safemode: Fuses OK (E:00, H:00, L:00)
 
avrdude done.  Thank you.
 
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6204
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 »

Nur habe ich da trotzdem noch ein Problem.
Ich habe ein altes Turbo-Pascal-Programm welches den Paramter "-WmLarge" braucht.

Dieses Problem konnte ich jetzt auch halbwegs lösen.
Wen ich bei "Setup+" folgendes mache, dann läuft dies einmal durch, wen ich "Install cross-compiler" drücke.
Aber nur einmal, mache ich dies ein zweites mal, dann kommt folgender Fehler:

Code: Alles auswählen

Building compiler for msdos-i8086 [CROSSOPT: -WmLarge ].
sstrings.inc(1532,13) Fatal: Code segment too large
/home/tux/fpcupdeluxe/fpcsrc/compiler/ppcross8086 -Tmsdos -Pi8086 -Ur -Xs -O2 -n -Fi../inc -Fi../i8086 -FD/home/tux/fpcupdeluxe/cross/bin/i8086-msdos -FE. -FU/home/tux/fpcupdeluxe/fpcsrc/rtl/units/msdos -vw-n-h-l-d-u-t-p-c- -di8086 -dRELEASE -WmLarge -Us -Sg system.pp
Fatal: Compilation aborted
sstrings.inc(1532,13) Fatal: Code segment too large
fpcupdeluxe: ERROR: FPCCrossInstaller (BuildModuleCustom: FPC): Running cross compiler fpc make all for i8086-msdos failed with an error code.

Aber immerhin, wen ich es das erste mal richtig mache, dann kann ich mein Turbo-Pascal-Programm fehlerfrei in Lazarus kompilieren. 8)

Bei AVR besteht diese Problem nicht, dies kann ich zig mal neu erzeugen.
Dateianhänge
Bildschirmfoto vom 2017-10-01 23-01-01.png
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

DonAlfredo
Beiträge: 74
Registriert: Do 28. Sep 2017, 10:26

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von DonAlfredo »

Try this: "-WmLarge -CX -XXs"

Benutzeravatar
kupferstecher
Beiträge: 422
Registriert: Do 17. Nov 2016, 11:52

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitrag von kupferstecher »

Mathias hat geschrieben:Irgendwas ist total Faul.

[...] mit slober (Arduino Eclipse) [...]

Code: Alles auswählen

Starting upload
using arduino loader
Starting reset using DTR toggle process
Toggling DTR
Continuing to use/dev/ttyUSB0
Ending reset
 
[...]



Hier scheint noch ein Reset des Boards durchgefuehrt zu werden, durch die DTR-Leitung der Seriellen. Ueber die Kommandozeile hast du das vermutlich nicht gemacht. Obs was mit dem Safemode zu tun hat, k.A.

Mathias
Beiträge: 6204
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 »

Hier scheint noch ein Reset des Boards durchgefuehrt zu werden, durch die DTR-Leitung der Seriellen. Ueber die Kommandozeile hast du das vermutlich nicht gemacht. Obs was mit dem Safemode zu tun hat, k.A.

Ich denke, ich werde dieses Problem mal im www.mikrocontroller.net schildern, vielleicht kann da jemand helfen.

Try this: "-WmLarge -CX -XXs"

Mit dieser Option, scheint da Problem weg zu sein. 8)

Ich muss es mal sagen, mit fpcupdelux wurde ein super Programm entwickelt. :idea: :wink:
Danke an die Entwickler.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten