Lazarus embedded mit fpcupdeluxe geht nicht

Re: Lazarus embedded mit fpcupdeluxe geht nicht

Beitragvon Timm Thaler » 21. Sep 2017, 17:46 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Mathias hat geschrieben:Schade, nur Windows-Versionen, ansonsten ist die Auswahl gross.


Achso, ja, aber beim Arduino sind auch einige avr-as und so dabei. Ich weiss aber nicht, ob man die einfach nehmen kann. Aber wart mal, unter Linux müsstest Du die mit apt-get install binutils bekommen, das hab ich auf dem Raspi versucht, bin dann aber auch nicht weitergekommen.
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

Beitragvon Timm Thaler » 21. Sep 2017, 17:56 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Ich hab jetzt die ppcrossavr.exe gefunden, die ist in fpcsrc\compiler\ gelandet. Dann hab ich die nach fpc\bin\i386-win32 kopiert, wo auch die ppcrossarm steht, die fpcupdeluxe automatisch erzeugt. Nun läuft der Compiler, bricht aber mit kann unit system nicht finden ab.

Code: Alles auswählen
Compile Project, Mode: AVRcross, OS: embedded, CPU: avr, Target: test: Exit code 1, Errors: 1
Fatal: Can't find unit system used by test


Es gibt auch unter fpc\units\avr-embedded keine system, nur eine systems.ppu und eine systems.o

Es gibt jeweils eine system.ppu und system.o unter fpc\units\arm-android\rtl\, fpc\units\arm-linux\rtl\, fpc\units\x86_64-win64\rtl\ und fpc\units\i386-win32\rtl\. Das sind die, die fpcupdeluxe da reingebastelt hat, wenn ich den Crosscompiler für ARM Linux und ARM Android mit installieren lasse.
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

Beitragvon Mathias » 21. Sep 2017, 19:23 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Guck mal in diesen Ordner, da sollten die system.* sein.
./fpcsrc/fpc/lib/fpc/3.0.2/units/avr-embedded/rtl
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Timm Thaler » 21. Sep 2017, 20:04 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Nee. da gibt es bei mir nur die systems.o und systems.pp. Ich denke nicht, dass einfach Umbenennen das Problem behebt. ;-)
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

Beitragvon Mathias » 21. Sep 2017, 20:49 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Nee. da gibt es bei mir nur die systems.o und systems.pp. Ich denke nicht, dass einfach Umbenennen das Problem behebt.

Umbenennen bringt sicher nichts.

Im Anhang meine beiden Dateien, aber ich den mit denen kommst auch nicht viel weiter.
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: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Timm Thaler » 21. Sep 2017, 21:58 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Ich habe jetzt aus dem Anhang dieses Posts http://www.lazarusforum.de/viewtopic.php?p=89132#p89132 die .o und .ppu nach lib\avr-embedded rauskopiert und die ppcrossavr.exe nach fpc\bin\i386-win32. In meine alte Laz 1.6.4 und FPC 3.0.2 Installation.

Und damit kann ich ein Programm kompilieren bis zum Hexfile.

Komischerweise steht in der entstehenden .o Datei "FPC 3.1.1 [2016/10/18] for avr"

Auch in die "trunk"-Installation mit Laz 1.9 und FPC3.1.1 kopiert funktioniert das.

Ist natürlich alles andere als eine saubere Installation. Und es fehlen die ATtinys, aber zum Rumprobieren reichts erstmal.
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

Beitragvon Mathias » 22. Sep 2017, 16:28 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Und damit kann ich ein Programm kompilieren bis zum Hexfile.

So weit bin ich leider noch nicht, da ich erst mal die "avr-embedded-as" suchen muss.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Timm Thaler » 22. Sep 2017, 17:07 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Mathias hat geschrieben:So weit bin ich leider noch nicht, da ich erst mal die "avr-embedded-as" suchen muss.


Ich hab grad mal auf dem Raspi geschaut: Wenn Du die binutils installiert hast, müssten die in /usr/bin liegen: avr-ar, avr-as, avr-ld, avr-objcopy, avr-objdump, avr-strip. Ausserdem noch avr-readelf und avr-nm, weiss aber nicht ob die gebraucht werden.

Also eigentlich sollte es reichen /usr/bin als Pfad anzugeben.
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

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

Auf dem PC sind dort nur folgende avr-Dateien vorhanden:
Code: Alles auswählen
avr-addr2line  avr-c++filt  avr-gprof   avr-nm       avr-ranlib   avr-strings
avr-ar         avrdude      avr-ld      avr-objcopy  avr-readelf  avr-strip
avr-as         avr-elfedit  avr-ld.bfd  avr-objdump  avr-size
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Timm Thaler » 22. Sep 2017, 18:46 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Mathias hat geschrieben:Auf dem PC sind dort nur folgende avr-Dateien vorhanden:
Code: Alles auswählen
avr-addr2line  avr-c++filt  avr-gprof   avr-nm       avr-ranlib   avr-strings
avr-ar         avrdude      avr-ld      avr-objcopy  avr-readelf  avr-strip
avr-as         avr-elfedit  avr-ld.bfd  avr-objdump  avr-size


Ja, sollten die sein, die Du brauchst.
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

Beitragvon Mathias » 22. Sep 2017, 19:03 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Ja, sollten die sein, die Du brauchst.

Ja es waren diese, aber man muss überall noch ein "-embedded" dazischen hängen.

Aber ich denke, das Einrichten geht irgendwie viel einfacher, wen man weis wie. :wink:

Jetzt habe ich eine HEX.

Dies hat er mit kompiliert. :shock:
Code: Alles auswählen
program test;
uses
  atmega128;
begin
  PORTC:=0;
end.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Timm Thaler » 22. Sep 2017, 21:55 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Mathias hat geschrieben:Aber ich denke, das Einrichten geht irgendwie viel einfacher, wen man weis wie.


Das ist das Problem mit den Anleitungen: Ich hab bestimmt ein Dutzend Forenthreads, Wikis, Howtos gefunden, aber teilweise sind die schon 6 Jahre alt und die angegebenen Quellen nicht mehr da, teilweise steht da halt, kopier Dir die und die Dateien, aber nicht woher, und viel schlimmer nicht wohin. Dann liegen die Daten bei Linux wild verteilt in diversen /usr und /bin und /lib Verzeichnissen. Das eine Makefile ist unvollständig, das nächste Makefile compilert Zeug was nicht zur Anleitung passt.

Ich würd ja gern ein aktuelles Tutorial machen, aber ich bin mit meiner zusammenkopierten Lösung so wenig zufrieden, dass kann man auch keinem antun. Ich muss das nochmal in Ruhe durchgehen.
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

Beitragvon Mathias » 24. Sep 2017, 19:16 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Ich habe versucht, meine HEX hochzuladen. Die Ausgabe von avrdude sieht fehlerfrei aus, nur leider sieht es so aus, wie wen es nicht geflasht wurde.
Ich habe vorhin ein blink-Sketch mit der Arduino-IDE hochgeladen, aber nach dem Aufruf von avrdude, blink die LED immer noch. :roll:
Diese müsste eigentlich jetzt ein Dauerbrenner haben.
Code: Alles auswählen
 avrdude -Cavrdude.conf -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D -Uflash:w: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 "test.hex"
avrdude: writing flash (1920 bytes):
 
Writing | ################################################## | 100% 0.56s
 
avrdude: 1920 bytes of flash written
avrdude: verifying flash memory against test.hex:
avrdude: load data flash data from input file test.hex:
avrdude: input file test.hex contains 1920 bytes
avrdude: reading on-chip flash data:
 
Reading | ################################################## | 100% 0.42s
 
avrdude: verifying ...
avrdude: 1920 bytes of flash verified
 
avrdude: safemode: Fuses OK (E:00, H:00, L:00)
 
avrdude done.  Thank you.
 


Code: Alles auswählen
program test;
uses
  atmega128;
begin
  DDRB := 255;
  PORTB := 255;
end.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Timm Thaler » 24. Sep 2017, 21:47 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Meine Compilereinstellungen:

Code: Alles auswählen
Verzeichnisse Units (-Fu): fpc\units\avr-embedded\;cross\lib\avr_embedded\
Unit-Ausgabe (-FU): lib\$(TargetCPU)-$(TargetOS)
Ziel-Dateiname (-o): test
Standart-Config fpc.cfg
Ziel-OS: Embedded
Ziel-CPU: avr
Zielprozessor: AVR5
Optimierung: -O2 oder -O3
Benutzerdef. Einstellungen:
-Cpavr5
-Wpatmega328p
-a


Erzeugt mir in test\lib\embedded: test.o, test.ppu, test.s <= enthält das Assembler-Listing, welches der FPC erzeugt und aus dem der avr-Compiler das hexfile macht
Erzeugt in test: test.hex, das muss etwa so aussehen (im Texteditor):

Code: Alles auswählen
Adresse..Programmcode..Prüfsumme
:100000000C9434000C94AF000C94AF000C94AF002F
:100010000C94AF000C94AF000C94AF000C94AF00A4
:100020000C94AF000C94AF000C94AF000C94AF0094
:100030000C94AF000C94AF000C94AF000C94AF0084
:100040000C94AF000C94AF000C94AF000C94AF0074
:100050000C94AF000C94AF000C94AF000C94AF0064 <= Interrupt-Einsprungpunkte
:100060000C94AF000C94AF001124EFEFEDBFE8E06B <= Dein Programm
:10007000EEBFA0E0B1E0D1E0E2E6F1E002C0059021
:100080000D92A230BD07D9F7A2E0B1E0D1E00C9407
:100090004A001D92A230BD07E1F70C94A100DF9346
:1000A000CF93CDB7DEB7C650D0400FB6F894DEBFC1
:1000B0000FBECDBF512D212D312D412D5A832B83C4
:1000C0003C834D835A814B812C813D8151504109A4
:1000D000210931095A834B832C833D833A816B81FB
:1000E0004C815D81A1E02A2F320F611D411D511D00
:1000F0003A836B834C835D83209100013091010131
:100100002150310920930001309301017A818B81C4
:100110006C819D81A0E83A2FAAE14A2FA6E05A2FD0
:10012000212D73178407650792070CF4D7CFCA5F98
:10013000DF4F0FB6F894DEBF0FBECDBFCF91DF917A
:1001400008950E94AE0027B12061206227B944982B
:100150000E944F00449A0E944F00F9CF08950C94DA
:02016000AF00EE
:0201620000009B
:00000001FF <= Endemarker


Allerdings habe ich das Projekt mit http://forum.lazarus.freepascal.org/index.php?topic=35486.0 erstellt. Dabei wird die Unit atmega328p.pp automatisch eingebunden.
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

Beitragvon Timm Thaler » 24. Sep 2017, 21:50 Re: Lazarus embedded mit fpcupdeluxe geht nicht

Mathias hat geschrieben:
Code: Alles auswählen
program test;
uses
  atmega128; <= das müsste atmega128p sein
begin
  DDRB := 255;
  PORTB := 255;
end.


Allerdings unterscheiden sich atmega128.pp und atmega128p.pp nur gering, sollte keinen Einfluss haben.
Timm Thaler
 
Beiträge: 670
Registriert: 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
Nach oben

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Windows



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried