FPC fit für PIC & AVR
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: FPC fit für PIC & AVR
schaut auf den ersten blick aus als ob die rtl nicht compiliert ist ?!
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: FPC fit für PIC & AVR
doch, die objects und ppus befinden sich in D:\fpc311\31200\src\rtl\units\avr-embedded. Ich denke, der Linker findet sie auch.Christian hat geschrieben:schaut auf den ersten blick aus als ob die rtl nicht compiliert ist ?!
Die Linker-Meldung "skipping incompatible...." deutet meiner Meinung nach auf das Problem hin.
Ich werde es demnächst mal unter Linux probieren.
Gruß, Bernd.
Re: FPC fit für PIC & AVR
Was sagt objdump?
Re: FPC fit für PIC & AVR
Nur zur Info: es gibt einen guten Compiler für 80x51
http://turbo51.com
und einen für PIC10 bis PIC18
http://www.pmpcomp.fr/
http://turbo51.com
und einen für PIC10 bis PIC18
http://www.pmpcomp.fr/
Re: FPC fit für PIC & AVR
"Was sagt objdump?"
sowohl für test.o als auch für system.o test.o:
file format elf32-avr
Es sieht so aus, als ob eine Änderung in Rev. 31032 das Phänomen bei mir (Windows 2000) hervorruft. Bis Rev. 31031 erzeugt der Compiler/Linker ein Binary.
Folgende Dateien sind in Rev. 31032 geändert worden:
fpc\Makefile
fpc\utils\fpcm\fpcmake.inc
fpc\utils\fpcm\fpcmake.ini
fpc\rtl\embedded\Makefile
fpc\rtl\embedded\Makefile.fpc
Auffällig ist fpcmake.inc. Wenn man beide Revisionen vergleicht, dann fehlen in der 31032er Variante die Konstanten #013 am Zeilenende.
Gruß, Bernd.
sowohl für test.o als auch für system.o test.o:
file format elf32-avr
Es sieht so aus, als ob eine Änderung in Rev. 31032 das Phänomen bei mir (Windows 2000) hervorruft. Bis Rev. 31031 erzeugt der Compiler/Linker ein Binary.
Folgende Dateien sind in Rev. 31032 geändert worden:
fpc\Makefile
fpc\utils\fpcm\fpcmake.inc
fpc\utils\fpcm\fpcmake.ini
fpc\rtl\embedded\Makefile
fpc\rtl\embedded\Makefile.fpc
Auffällig ist fpcmake.inc. Wenn man beide Revisionen vergleicht, dann fehlen in der 31032er Variante die Konstanten #013 am Zeilenende.
Gruß, Bernd.
Re: FPC fit für PIC & AVR
die aktuellen Revisionen laufen jetzt, danke. 
Dann bin ich mal neugierig, was der Compiler so macht:
# [35] DDRE:= DDRE or (1 shl 2);
sbi 2,2
# [36] PORTE:= PORTE and ((1 shl 2) xor $FF);
cbi 3,2
das hätte ich erst mal nicht erwartet. Hut ab
Gruß, Bernd.

Dann bin ich mal neugierig, was der Compiler so macht:
# [35] DDRE:= DDRE or (1 shl 2);
sbi 2,2
# [36] PORTE:= PORTE and ((1 shl 2) xor $FF);
cbi 3,2
das hätte ich erst mal nicht erwartet. Hut ab

Gruß, Bernd.
-
- Beiträge: 1102
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: FPC fit für PIC & AVR
Es gibt auch Mikroe Pascal fuer 16-bit (ds)pic glaube ich. Aber im FPC context wird meistens 32-bit PIC (=MIPS) gemeintws7 hat geschrieben:Nur zur Info: es gibt einen guten Compiler für 80x51
http://turbo51.com
und einen für PIC10 bis PIC18
http://www.pmpcomp.fr/
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: FPC-Programme auf AVR
Hallo zusammen,
ich habe die Wiki-Seite zum AVR-Target um meinen Befehl zum Erstellen des Compilers und der RTL erweitert. Der Compiler arbeitet auch und gibt erfolg aus.
Wie kann ich das Programm auf den Arduino bringen? Habt ihr da schon ein Tool gefunden? Gibt es hier Probleme keine mit dem Arduino-Bootloader, sodass ich später neue Programme hochladen kann?
ich habe die Wiki-Seite zum AVR-Target um meinen Befehl zum Erstellen des Compilers und der RTL erweitert. Der Compiler arbeitet auch und gibt erfolg aus.
Wie kann ich das Programm auf den Arduino bringen? Habt ihr da schon ein Tool gefunden? Gibt es hier Probleme keine mit dem Arduino-Bootloader, sodass ich später neue Programme hochladen kann?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 98
- Registriert: Di 4. Aug 2015, 15:29
- OS, Lazarus, FPC: Linux, Raspbian, Windows
- CPU-Target: 64/32 Bit
Re: FPC fit für PIC & AVR
Hallo Socke,
meinst Du etwas wie avrdude?
Beste Grüße
Andreas
meinst Du etwas wie avrdude?
Beste Grüße
Andreas
Ubuntu 14.04 LTS / Raspbian / Windows: Lazarus ab 0.9 bis 3.0
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: FPC fit für PIC & AVR
von avrdude hatte ich schon gehört? Muss ich bei dem Programm irgendetwas beachten oder kann ich einfach das Programm damit hochladen?
P.S: ich habe kein extra Programmiergerät für den AVR sondern möchte die wie bei Arduino einfach über die USB-Schnittstelle hochladen.
P.S: ich habe kein extra Programmiergerät für den AVR sondern möchte die wie bei Arduino einfach über die USB-Schnittstelle hochladen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 98
- Registriert: Di 4. Aug 2015, 15:29
- OS, Lazarus, FPC: Linux, Raspbian, Windows
- CPU-Target: 64/32 Bit
Re: FPC fit für PIC & AVR
Hallo Socke,
avrdude ist das Programm, dass innerhalb der Arduino-IDE aufgerufen wird, wenn ein Sketch compiliert / gelinkt werden konnte und dann hochgeladen werden soll. Das Programm macht also nicht anderes, als den für das Zielgerät / Prozessor erzeugten Code hochzuladen.
Aus der Man-Page von avrdude:
Andreas
avrdude ist das Programm, dass innerhalb der Arduino-IDE aufgerufen wird, wenn ein Sketch compiliert / gelinkt werden konnte und dann hochgeladen werden soll. Das Programm macht also nicht anderes, als den für das Zielgerät / Prozessor erzeugten Code hochzuladen.
Aus der Man-Page von avrdude:
Beste GrüßeAvrdude is a program for downloading code and data to Atmel AVR microcon‐
trollers. Avrdude supports Atmel's STK500 programmer, Atmel's AVRISP and
AVRISP mkII devices, Atmel's STK600, Atmel's JTAG ICE (mkI, mkII and 3,
the latter two also in ISP mode), programmers complying to AppNote AVR910
and AVR109 (including the Butterfly), as well as a simple hard-wired pro‐
grammer connected directly to a ppi(4) or parport(4) parallel port, or to
a standard serial port. In the simplest case, the hardware consists just
of a cable connecting the respective AVR signal lines to the parallel
port.
Andreas
Ubuntu 14.04 LTS / Raspbian / Windows: Lazarus ab 0.9 bis 3.0
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: FPC fit für PIC & AVR
Wenn ich die Manpage richtig verstanden habe, kann ich mit dem "Programmer Type" Arduino den Arduino-Bootloader ansprechen um das Programm auf dem MCU zu speichern.AndreasMR hat geschrieben:avrdude ist das Programm, dass innerhalb der Arduino-IDE aufgerufen wird, wenn ein Sketch compiliert / gelinkt werden konnte und dann hochgeladen werden soll. Das Programm macht also nicht anderes, als den für das Zielgerät / Prozessor erzeugten Code hochzuladen.
Gibt es Unterschiede zwischen Programmen, die von FPC oder von der Arduino-IDE erstellt wurden? Oder muss ich bestimmten Dinge beachten, damit die Programme kompatibel sind?
Wie gesagt: der Bootloader soll intakt bleiben, damit ich ohne den Bootloader neu zu brennen andere Programme aus der Arduino-IDE hochladen kann.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: FPC fit für PIC & AVR
Hallo Socke, bei den AVRś ist der Bootloader am Ende des Flashes angesieselt. Es gibt in den Fuses je nach AVR meisst 4 Einstellungen für die Bootsection Grösse die bestimmt wo die Boot Section anfängt. Solang dein Programm nicht in den Bereich hereinragt ist alles gut.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: FPC fit für PIC & AVR
Vielen Dank für die Information. Dann steht meinen Abenteuern mit dem Arduino vorerst nichts im Wege 

MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 210
- Registriert: Do 24. Jan 2013, 21:22
Re: FPC fit für PIC & AVR
Hallo ,
seit kurzem beschäftige ich mich mit AVR's.
Habe zunächs mal mit BascomAVR und LunaAVR probiert , alles ja ganz schön , aber mit der Syntax kann ich mich einfach nicht anfreunden.
Ich will auf Pascal einfach nicht verzichten.
Also im www nach Freepascal/Lazarus und AVR gesucht.
Nach tagelanger Suche bin ich dann auf ppcavr.lpi
https://github.com/graemeg/freepascal/t ... r/compiler gestoßen .
Hier die Files runtergeladen und mit LAZ die ppcavr.lpi compiliert.
Ich habe nun ne pp.exe für avr gebaut , soweit , so gut .
Der Aufruf von pp -h
ergibt
Free Pascal Compiler version 3.1.1 [2016/10/17] for avr
Copyright (c) 1993-2016 by Florian Klaempfl and others
......
......
Die Liste der Compiler-Optionen ist schier unendlich, ich weis derzeit nicht weiter.
Ziel ist es nun zuächst , ein einfaches Pas-Programm , z.b. LED-Blick in Lazarus als Editor zu schreiben und hinten ein HEX-File rauszubekommen.
Dieses soll dann via 'AVRdude' in den Prozessor übertragen werden.
Die Nutzung von 'AVRdude' klappt , das habe ich ja mit den vorherigen Versuchen per. Bascom und Luna hinbekommen.
Zum probieren nutze ich derzeit folgende Hardware.
ATMega16
8MHZ Quarz
Ne LED am Ausgang PortA.7
Es hapert also derzeit schlicht weg daran , das LAZ für den AVR-Compiler pp.exe (für AVR , siehe oben) einzurichten.
Was muß ich tun ? , ich bin halt in dieser Richtung der totale Anfänger .
Gruß
Frank
seit kurzem beschäftige ich mich mit AVR's.
Habe zunächs mal mit BascomAVR und LunaAVR probiert , alles ja ganz schön , aber mit der Syntax kann ich mich einfach nicht anfreunden.
Ich will auf Pascal einfach nicht verzichten.
Also im www nach Freepascal/Lazarus und AVR gesucht.
Nach tagelanger Suche bin ich dann auf ppcavr.lpi
https://github.com/graemeg/freepascal/t ... r/compiler gestoßen .
Hier die Files runtergeladen und mit LAZ die ppcavr.lpi compiliert.
Ich habe nun ne pp.exe für avr gebaut , soweit , so gut .
Der Aufruf von pp -h
ergibt
Free Pascal Compiler version 3.1.1 [2016/10/17] for avr
Copyright (c) 1993-2016 by Florian Klaempfl and others
......
......
Die Liste der Compiler-Optionen ist schier unendlich, ich weis derzeit nicht weiter.
Ziel ist es nun zuächst , ein einfaches Pas-Programm , z.b. LED-Blick in Lazarus als Editor zu schreiben und hinten ein HEX-File rauszubekommen.
Dieses soll dann via 'AVRdude' in den Prozessor übertragen werden.
Die Nutzung von 'AVRdude' klappt , das habe ich ja mit den vorherigen Versuchen per. Bascom und Luna hinbekommen.
Zum probieren nutze ich derzeit folgende Hardware.
ATMega16
8MHZ Quarz
Ne LED am Ausgang PortA.7
Es hapert also derzeit schlicht weg daran , das LAZ für den AVR-Compiler pp.exe (für AVR , siehe oben) einzurichten.
Was muß ich tun ? , ich bin halt in dieser Richtung der totale Anfänger .
Gruß
Frank
www.flz-vortex.de