Programm für µC Schreiben
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Programm für µC Schreiben
Moin Moin,
Weiß nicht, ob sich schon mal jemand mir den Thema µC-Programmierung unter pascal auseinandergesetz hat, deshalb frag ich mal so in den Raum rein.
Wäre ex Möglich firmware für ein Gerät unter Verwendung z.B. eines ATmega128 oder PIC 16f84(A) in Lazarus zu schreiben?
Wenn ja, wie müste man denne in Etwa dem Programm sagen, das es ein 8Bit System ist.
Nicht lachen, ist eine Erst gemeinte Frage, Sonst muß ich ein Prog suchen, welches in Modula schreibfähig ist und unter Linux läuft.
Weiß nicht, ob sich schon mal jemand mir den Thema µC-Programmierung unter pascal auseinandergesetz hat, deshalb frag ich mal so in den Raum rein.
Wäre ex Möglich firmware für ein Gerät unter Verwendung z.B. eines ATmega128 oder PIC 16f84(A) in Lazarus zu schreiben?
Wenn ja, wie müste man denne in Etwa dem Programm sagen, das es ein 8Bit System ist.
Nicht lachen, ist eine Erst gemeinte Frage, Sonst muß ich ein Prog suchen, welches in Modula schreibfähig ist und unter Linux läuft.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 


-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Programm für µC Schreiben
Du meinst einen Emulator? Schau mal nach QEMU.Maik81ftl hat geschrieben: Wenn ja, wie müste man denne in Etwa dem Programm sagen, das es ein 8Bit System ist.
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Programm für µC Schreiben
Mich würde das auch interessieren, und zwar für den Prozessor Cortex-M3 (z.B. STM32F103).
Derzeit programmiere ich den mit dem GCC ARM NONE EABI Compiler von Coudesourcery. Also auf dem Prozessor gibt es kein Betriebssystem.
Aus dem Code wird Assember generiert und der wird in das Flash geladen und läuft. Ganz simpel.
Allerdings habe ich noch keinen Pascal-Compiler gefunden, der diesen Prozessor unterstützt.
Eine Grafik geht natürlich nicht, da kein Display dran ist, auf geht keine Klassen-Hirarchie, da kein Betriebssystem mit Speichermanager da ist.
Derzeit programmiere ich den mit dem GCC ARM NONE EABI Compiler von Coudesourcery. Also auf dem Prozessor gibt es kein Betriebssystem.
Aus dem Code wird Assember generiert und der wird in das Flash geladen und läuft. Ganz simpel.
Allerdings habe ich noch keinen Pascal-Compiler gefunden, der diesen Prozessor unterstützt.
Eine Grafik geht natürlich nicht, da kein Display dran ist, auf geht keine Klassen-Hirarchie, da kein Betriebssystem mit Speichermanager da ist.
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Programm für µC Schreiben
wie ich sehe ist das bei dir ein 32Bit µC. ich könnte auch AVRco IDE verwenden, aber leider ist dieses Nur für Windows geeingnet. unter Wine bei Linux läuft es leider nichtMmVisual hat geschrieben:Mich würde das auch interessieren, und zwar für den Prozessor Cortex-M3 (z.B. STM32F103).
Derzeit programmiere ich den mit dem GCC ARM NONE EABI Compiler von Coudesourcery. Also auf dem Prozessor gibt es kein Betriebssystem.
Aus dem Code wird Assember generiert und der wird in das Flash geladen und läuft. Ganz simpel.
Allerdings habe ich noch keinen Pascal-Compiler gefunden, der diesen Prozessor unterstützt.
Eine Grafik geht natürlich nicht, da kein Display dran ist, auf geht keine Klassen-Hirarchie, da kein Betriebssystem mit Speichermanager da ist.

Was die Programmierung der Pic reihe angeht, kann ich unter Linux getrost auf MPLap zurückgreifen
Ähmm wie dein nachposter schon richtig erkannt hat, sind die µCs leer und Ohne BS. Zieh ist es das BS (Firmeware) mit Lazarus zuerstellen.carli hat geschrieben:Du meinst einen Emulator? Schau mal nach QEMU.Maik81ftl hat geschrieben: Wenn ja, wie müste man denne in Etwa dem Programm sagen, das es ein 8Bit System ist.

Edit
HIer mal für die, die sich auch damit befassen wollen der Grundgedanke inkl. Zielsetzung.
a) Entwicklung einer eingenen PC-Mess-karte (Oszi, DMM, u.s.w.)
b) USB-Schnittstelle
c) Automatisches erkennen des BS, welches auf dem PC läuft
d) Hot-Plug&-Play Installation ähnlich der Heutigen Handys unter Windows.
zu d) die Messsoftware für den Rechner soll z.B. auf einer SD-card in dem Gerät liegen und automatisch über die Rüchantword des PC's/Nootbook's ausgewählt und installiert werden.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 


-
- 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: Programm für µC Schreiben
Für den AVR gibts ein Target beim fpc welches aber noch nicht fertiggestellt ist.
Den Cortex M3 sollte der fpc bereits können.
@Maik
Punkt C ist seehr schwirig. Von einem USB gerät aus kannst du sehr schwer erkennen welches BS du vor dir hast. Das wird fast nur möglich sein wenn du ein Gerät das alle Betriebsysteme kennen emulierst z.b. eine Maus und dann schaust was für Eigenheiten die entsprechenden Treiber haben also in welcher Reihenfolge Daten Descriptoren usw abgefragt werden z.b.
D wird ebenso schwierig sein, du musst separate Endpunkte für Mass Storage Devices vorhalten und darauf ein komplettes SCSI gerät emulieren.
Mit dem Atmega128 kannst du das ganze vergessen, der hat 1. kein Hardware USB 2. wirst du mit dem Speicher bei den Anforderungen nicht auskommen.
Allerdings hast du bei den Anforderungen wenn du gut mit den Mikrocontrollern kannst auch ca 8 Mannjahre Programmierung vor dir, und bis dahin funktioniert zumindest Punkt C nicht mehr weil es mit sicherheit andere Treiber gibt warscheinlich auch andere Betriebsysteme.
Punkt A und B hakt übrigends mein USB AVR Lab schon ab. Das kannst du auch von der PC Seite mit Lazarus ansprechen.
Den Cortex M3 sollte der fpc bereits können.
@Maik
Punkt C ist seehr schwirig. Von einem USB gerät aus kannst du sehr schwer erkennen welches BS du vor dir hast. Das wird fast nur möglich sein wenn du ein Gerät das alle Betriebsysteme kennen emulierst z.b. eine Maus und dann schaust was für Eigenheiten die entsprechenden Treiber haben also in welcher Reihenfolge Daten Descriptoren usw abgefragt werden z.b.
D wird ebenso schwierig sein, du musst separate Endpunkte für Mass Storage Devices vorhalten und darauf ein komplettes SCSI gerät emulieren.
Mit dem Atmega128 kannst du das ganze vergessen, der hat 1. kein Hardware USB 2. wirst du mit dem Speicher bei den Anforderungen nicht auskommen.
Allerdings hast du bei den Anforderungen wenn du gut mit den Mikrocontrollern kannst auch ca 8 Mannjahre Programmierung vor dir, und bis dahin funktioniert zumindest Punkt C nicht mehr weil es mit sicherheit andere Treiber gibt warscheinlich auch andere Betriebsysteme.
Punkt A und B hakt übrigends mein USB AVR Lab schon ab. Das kannst du auch von der PC Seite mit Lazarus ansprechen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Programm für µC Schreiben
Hmmm was C) angeht, habe ich die nacht ausch schon mal drüber geschlafen...Christian hat geschrieben:Für den AVR gibts ein Target beim fpc welches aber noch nicht fertiggestellt ist.
Den Cortex M3 sollte der fpc bereits können.
@Maik
Punkt C ist seehr schwirig. Von einem USB gerät aus kannst du sehr schwer erkennen welches BS du vor dir hast. Das wird fast nur möglich sein wenn du ein Gerät das alle Betriebsysteme kennen emulierst z.b. eine Maus und dann schaust was für Eigenheiten die entsprechenden Treiber haben also in welcher Reihenfolge Daten Descriptoren usw abgefragt werden z.b.
D wird ebenso schwierig sein, du musst separate Endpunkte für Mass Storage Devices vorhalten und darauf ein komplettes SCSI gerät emulieren.
Mit dem Atmega128 kannst du das ganze vergessen, der hat 1. kein Hardware USB 2. wirst du mit dem Speicher bei den Anforderungen nicht auskommen.
Allerdings hast du bei den Anforderungen wenn du gut mit den Mikrocontrollern kannst auch ca 8 Mannjahre Programmierung vor dir, und bis dahin funktioniert zumindest Punkt C nicht mehr weil es mit sicherheit andere Treiber gibt warscheinlich auch andere Betriebsysteme.
Punkt A und B hakt übrigends mein USB AVR Lab schon ab. Das kannst du auch von der PC Seite mit Lazarus ansprechen.


Was D) angeht. das der Kein Hardware USB hat weiß ich, ergo kann ich auch dies vergessen. Bleiben somit nur noch Punkt a und b.
Dennoch hab ich den Kern des Projektes noch nicht gelöst. Die Software für den ATmega / Pic würde ich gerne via lazarus schreiben, aber wie du schon gesagt hast, wird der Target bei FPC noch nicht fertig sein.

könnte ich dennoch mal ggf ein hinweis bekommen, wo ich den finde?
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 


- corpsman
- Lazarusforum e. V.
- Beiträge: 1645
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Programm für µC Schreiben
Nicht dass ich eine Ahnung von dem habe was ihr hier schreibt, will eigentlich nur das mein Forumprofil diesen Thread hier beobachtet...
Einen Atmega32 und Atmega8 habe ich aber auch, und steuere diese zur Zeit mittels avr-gcc an.
Das geht natürlich aber eine Entwicklung via FPC und Lazarus wäre der Hammer.
Dort müsste man dann doch sicher eine "Konsolen Anwendung" machen, oder ?
Gruß
Corpsman
Einen Atmega32 und Atmega8 habe ich aber auch, und steuere diese zur Zeit mittels avr-gcc an.
Das geht natürlich aber eine Entwicklung via FPC und Lazarus wäre der Hammer.
Dort müsste man dann doch sicher eine "Konsolen Anwendung" machen, oder ?
Gruß
Corpsman
--
Just try it
Just try it
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Programm für µC Schreiben
Sicher... ich werd mich mal mit darüber schlau machen. und eine Prof kontaktieren. hoffe, das ich da hilfe bekommen kann.corpsman hat geschrieben:Nicht dass ich eine Ahnung von dem habe was ihr hier schreibt, will eigentlich nur das mein Forumprofil diesen Thread hier beobachtet...
Einen Atmega32 und Atmega8 habe ich aber auch, und steuere diese zur Zeit mittels avr-gcc an.
Das geht natürlich aber eine Entwicklung via FPC und Lazarus wäre der Hammer.
Dort müsste man dann doch sicher eine "Konsolen Anwendung" machen, oder ?
Gruß
Corpsman
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 


-
- 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: Programm für µC Schreiben
Klar, im FPC. Wo würdest du sonst suchen ?Dennoch hab ich den Kern des Projektes noch nicht gelöst. Die Software für den ATmega / Pic würde ich gerne via lazarus schreiben, aber wie du schon gesagt hast, wird der Target bei FPC noch nicht fertig sein.
könnte ich dennoch mal ggf ein hinweis bekommen, wo ich den finde?
Musst den Compiler halt für das Target neubaun also avr-embedded
http://wiki.freepascal.org/AVR" onclick="window.open(this.href);return false;
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Programm für µC Schreiben
Hier:
http://wiki.freepascal.org/FPC_New_Features_Trunk" onclick="window.open(this.href);return false;
Habe ich gefunden "Support for Thumb-2" (für meinen Cortex-M3 Prozi)
Aber wo/wie kann ich denn diese CPU auswählen?
Muss ich da noch was zusätzlich installieren?
(Ich hab Windwos)
Gleich als nächstes kommt dann die Frage: Kann ich den GDB von Lazarus über TCP/IP zu einem GDB-Server (z.B. OpenOCD) verbinden, damit ich meine CPU auch debuggen kann?
Gruß Markus
http://wiki.freepascal.org/FPC_New_Features_Trunk" onclick="window.open(this.href);return false;
Habe ich gefunden "Support for Thumb-2" (für meinen Cortex-M3 Prozi)
Aber wo/wie kann ich denn diese CPU auswählen?
Muss ich da noch was zusätzlich installieren?
(Ich hab Windwos)
Gleich als nächstes kommt dann die Frage: Kann ich den GDB von Lazarus über TCP/IP zu einem GDB-Server (z.B. OpenOCD) verbinden, damit ich meine CPU auch debuggen kann?
Gruß Markus
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- 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: Programm für µC Schreiben
Naja hast du denn den fpc aus dem trunk ?
Hast du das hier schonmal gelesen ?
http://wiki.freepascal.org/Setup_Cross_Compile_For_ARM" onclick="window.open(this.href);return false;
Hast du das hier schonmal gelesen ?
http://wiki.freepascal.org/Setup_Cross_Compile_For_ARM" onclick="window.open(this.href);return false;
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Programm für µC Schreiben
Ich denke, das benötigt ein Betriebssystem(Linux) auf dem ARM Prozessor. Aber ich habe nur 128K Flash / 20K RAM, da geht kein Linux drauf.
Oder hab ich das jetzt falsch gelesen?
Oder hab ich das jetzt falsch gelesen?
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- 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: Programm für µC Schreiben
Hm ? Cross Compile sagt das du auf einer Maschiene für eine andere Kompilierst. Hast du überhaupt was gelesen ? 

W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Programm für µC Schreiben
Die Frage ist aber, ob der FPC auch das RAM-Image ausspucken kann, oder ob der FPC nur Linux-Executables erstellt.
-
- 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: Programm für µC Schreiben
Der fpc hat ein embedded Target, das dafür passt. Ob dort nun ein .elf rauskommt das du hinterher noch strippen musst oder direkt ein hex file weissich leider auch nicht aus dem stand. Ich hab noch nicht damit gearbeitet. Vllt sterhts ja da
http://wiki.freepascal.org/Embedded" onclick="window.open(this.href);return false;

W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/