Lazarus embedded mit fpcupdeluxe geht nicht

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitragvon Mathias » 30. Sep 2017, 17:26 Re: Lazarus embedded mit fpcupdeluxe geht nicht

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 gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3019
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon DonAlfredo » 1. Okt 2017, 05:39 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Build without debugging !
Unit lnfodwrf is needed by the debugger ... any help on this subject would be appreciated.
DonAlfredo
 
Beiträge: 9
Registriert: 28. Sep 2017, 09:26

Beitragvon Mathias » 1. Okt 2017, 17:25 Re: Lazarus embedded mit fpcupdeluxe geht nicht

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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3019
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Timm Thaler » 1. Okt 2017, 19:59 Re: Lazarus embedded mit fpcupdeluxe geht nicht

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.
Timm Thaler
 
Beiträge: 338
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.6 FPC3.0.0, Raspbian Jessie Laz1.6 FPC3.0.0 | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon Mathias » 1. Okt 2017, 21:38 Re: Lazarus embedded mit fpcupdeluxe geht nicht

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 gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3019
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 1. Okt 2017, 22:05 Re: Lazarus embedded mit fpcupdeluxe geht nicht

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.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3019
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon DonAlfredo » 2. Okt 2017, 06:40 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Try this: "-WmLarge -CX -XXs"
DonAlfredo
 
Beiträge: 9
Registriert: 28. Sep 2017, 09:26

Beitragvon kupferstecher » 2. Okt 2017, 09:56 Re: Lazarus embedded mit fpcupdeluxe geht nicht

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.
kupferstecher
 
Beiträge: 45
Registriert: 17. Nov 2016, 11:52

Beitragvon Mathias » 2. Okt 2017, 17:12 Re: Lazarus embedded mit fpcupdeluxe geht nicht

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 gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3019
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 8. Okt 2017, 17:14 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Nochmals zu dem AVR-Cross-Compiler zurück.
Das einfache Hello World hatte mit der fpcupdelux erstellen wunderbar kompiliert.

Aber jetzt kommt das Problem.
Sobald ich die Die Unit armega328p einbinden will, wird diese nicht gefunden.
Daher habe ich diese manuell über Projekt-Einstellungen/Unit-Pfade mit dem Pfad /home/tux/fpcupdeluxe/fpcsrc/rtl/embedded/avr/ eingebunden.
Somit wird zwar anstandslos kompiliert, aber der Linker will nicht.
Code: Alles auswählen
Projekt kompilieren, OS: embedded, CPU: avr, Ziel: Project1: Exit code 256, Fehler: 1
Free Pascal Compiler version 3.1.1-r20:37407 [2017/10/08] for avr
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Embedded
Compiling Project1.pas
Assembling project1
Linking Project1
/usr/bin/avr-ld: Project1.elf section `.text' will not fit in region `text'
 
 
 
 
 
Project1.pas(32,0) Error: Error while linking


Bei dem manuellen Knorz, welcher mit FPC 3.0.2 welcher ganz oben beim Thread steht, kompiliert und linkt er anstandslos, es gibt eine *.HEX.
Obwohl die nicht die Trunk war.

Mein Test-Code sieht so aus:
Code: Alles auswählen
program Project1;
uses
  atmega328p;
 
//var
//  PORTB : byte absolute $00+$25; // Port B Data Register
//  DDRB : byte absolute $00+$24; // Port B Data Direction Register
//  PINB : byte absolute $00+$23; // Port B Input Pins
 
procedure sleep(t:integer);
var
  i:integer;
begin
  for i := 0 to t do begin
    asm
      nop;
    end;
  end;
end;
 
begin
  DDRB:=255;
  repeat
    PORTB:=0;
    sleep(101);
 
    PORTB:=255;
    sleep(100);
  until 1 = 2;
end.\0
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3019
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Timm Thaler » 8. Okt 2017, 17:29 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Mit der 3.0.2 hab ich auch kompilieren können, aber da funktioniert so vieles nicht, dass ich nur noch die aktuellste 3.1.1 nehme. Unter anderem verwendet die ganz andere Libs, wie mir scheint.
Timm Thaler
 
Beiträge: 338
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.6 FPC3.0.0, Raspbian Jessie Laz1.6 FPC3.0.0 | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon Mathias » 8. Okt 2017, 19:00 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Mit der 3.0.2 hab ich auch kompilieren können, aber da funktioniert so vieles nicht, dass ich nur noch die aktuellste 3.1.1 nehme.

Bei mir geht mit der 3.1.1 nicht mehr. Auch dann nicht, wen man das gebastelt wie mit der 3.0.2 er macht.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3019
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 14. Okt 2017, 17:44 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Bei mir geht mit der 3.1.1 nicht mehr. Auch dann nicht, wen man das gebastelt wie mit der 3.0.2 er macht.

Das Problem ist nun auch gelöst, mit der Trunk vom 13.10 läuft es bei mir auch und dies sogar mit Lazarus. :wink:
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3019
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

• Themenende •
Vorherige

Zurück zu Windows



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried