Lazarus embedded mit fpcupdeluxe geht nicht

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 »

Allerdings unterscheiden sich atmega128.pp und atmega128p.pp nur gering, sollte keinen Einfluss haben.

Dies könnte der Fehler bei mir sein, mein Arduino Nano besitzt ein ATmega328.
Nur das Problem, ich habe nur diese Unit, ich muss mal gucken, ob ich die anderen auch finde, aber dies werde ich später mal machen.
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 »

Laut Datenblatt unterscheiden sich 328 und 328p nur in der Stromaufnahme, afaik sind die ps mit kleinerer Chipstruktur, ansonsten gleich.

Allerdings kann natürlich Avrdude Probleme machen, wenn die Signatur nicht stimmt. Ich programmiere mit AVR8 Burn-O-Mat über den AVR ISP MKII USB Programmer. Avrdude gibt dabei aus:

Code: Alles auswählen

C:\Tools\AvrDude\avrdude.exe -C C:\Tools\AvrDude\avrdude.conf -p m328p -P usb -c avrispmkII  -U flash:w:D:\Eigene Dateien\test\test.hex:a 
 
avrdude.exe: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.01s
 
avrdude.exe: Device signature = 0x1e950f
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "D:\Eigene Dateien\Technik\Homectrl\Gewhaus\Controller\greenhouse.hex"
avrdude.exe: input file D:\Eigene Dateien\Technik\Homectrl\Gewhaus\Controller\greenhouse.hex auto detected as Intel Hex
avrdude.exe: writing flash (1992 bytes):
 
Writing | ################################################## | 100% 7.07s
 
avrdude.exe: 1992 bytes of flash written
avrdude.exe: verifying flash memory against D:\Eigene Dateien\Technik\Homectrl\Gewhaus\Controller\greenhouse.hex:
avrdude.exe: load data flash data from input file D:\Eigene Dateien\Technik\Homectrl\Gewhaus\Controller\greenhouse.hex:
avrdude.exe: input file D:\Eigene Dateien\Technik\Homectrl\Gewhaus\Controller\greenhouse.hex auto detected as Intel Hex
avrdude.exe: input file D:\Eigene Dateien\Technik\Homectrl\Gewhaus\Controller\greenhouse.hex contains 1992 bytes
avrdude.exe: reading on-chip flash data:
 
Reading | ################################################## | 100% 7.17s
 
avrdude.exe: verifying ...
avrdude.exe: 1992 bytes of flash verified
 
avrdude.exe done.  Thank you.

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 denke, mein Problem hängt mit dieser Zeile zusammen:

Code: Alles auswählen

avrdude: safemode: Fuses OK (E:00, H:00, L:00)


Ich habe diese beiden Varianten probiert, bei beiden kommt das Fuses OK.

Code: Alles auswählen

avrdude -Cavrdude.conf -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D -Uflash:w:test.hex:i
avrdude -Cavrdude.conf -pm328p -carduino -P/dev/ttyUSB0  -Uflash:w:test.hex:a


Was bedeutet das :i und :a hinter dem HEX-Files ?
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 »

Sidenote: I have added embedded as target for the cross-compilers.
https://github.com/newpascal/fpcupdelux ... ses/latest
Dateianhänge
embedded.JPG

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 »

DonAlfredo hat geschrieben:Sidenote: I have added embedded as target for the cross-compilers.
https://github.com/newpascal/fpcupdelux ... ses/latest

Sieht fast so aus, das der Entwickler von fpcupdelux hellsehen kann. :shock:
Die Option AVR scheint brandneu zu sein, bei der Version die ich vor ein paar Tagen runtergeladen habe, war dies noch nicht vorhanden. :wink:
Bin gerade am kompilieren, mal gucken, ob es laäuft.

Vielleicht kommt sogar noch die Option MSDOS dazu. :wink:

Nachtrag, leider gibt es eine Fehlermeldung:

Code: Alles auswählen

system.pp(256) Fatal: There were 2 errors compiling module, stopping
system.pp(256) Error: Can't call the assembler, error 127 switching to external assembling
Fatal: Compilation aborted
system.pp(256) Fatal: There were 2 errors compiling module, stopping
fpcupdeluxe: ERROR: FPCCrossInstaller (BuildModuleCustom: FPC): Running cross compiler fpc make all for avr-embedded failed with an error code.
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 do not know if you are on Windows or Linux ....
Normally, fpcupdeluxe tries to find the suitable binary utilities to make a cross-compiler.
And also normally, on a vanilla system, these cannot be found. Causing fpcupdeluxe asking the user if he wants to download them.
After confirmation, these binutils are downloaded and the cross-compiler is build.
These binutils are (should be) located in installdir\cross\bin\avr-embedded.
Could you check this ?
And also, the whole green-screen output may be copied and attached, so I have some more info (right-click, select all).

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 »

FPC und Lazarus-version habe ich "stable" gewählt.
I do not know if you are on Windows or Linux ....
Linux 64Bit.

These binutils are (should be) located in installdir\cross\bin\avr-embedded.

Code: Alles auswählen

~/fpcupdeluxe/cross/bin/avr-embedded $ ls
avr-addr2line  avr-c++filt  avr-ld      avr-objcopy  avr-readelf  avr-strip
avr-ar         avr-elfedit  avr-ld.bfd  avr-objdump  avr-size
avr-as         avr-gprof    avr-nm      avr-ranlib   avr-strings



And also, the whole green-screen output may be copied and attached, so I have some more info (right-click, select all).

Ist im Anhang.
Dateianhänge
output.txt
(98.56 KiB) 125-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 »

You are invited to test the latest release of fpcupdeluxe (1.4.0q). I hope this version will work.

Before running, please delete the ~/fpcupdeluxe/cross/bin/avr-embedded directory.
The previous binutils were wrong.

Fpcupdeluxe will build for avr5 by default.
You can change that setting in setup+, by adding cross-options for the right target.
See included picture.
avrsettings.JPG
avrsettings.JPG (30.01 KiB) 3614 mal betrachtet

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 »

zuerst habe ich den ganzen Ordner ~/fpcupdelux gelöscht, so das sicher nichts altes vorhanden ist.

Ich habe folgende Einstellungen wie im Anhang gemacht.

Dabei habe ich auf "Install cross-compiler" geklickt, da kommt der Fehler wie im Anhang.

PS: Bist du der Entwickler von fpcupdelux ?
Dateianhänge
Bildschirmfoto vom 2017-09-29 18-43-12.png
Bildschirmfoto vom 2017-09-29 18-42-06.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 »

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: 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 »

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) 139-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: 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 »

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

Antworten