Tutorial ARM Embedded

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Tutorial ARM Embedded

Beitrag von mschnell »

Natürlich hast Du mit Deinen Ausführungen absolut Recht.
kupferstecher hat geschrieben:
mschnell hat geschrieben:und die low-Level Kommunikation mit der Hardware im Pocket-Bone realisieren, für kritische Realtime-Signale kann man den Realtime Coprozessor verwenden

Schon mal gemacht? Das läuft vermutlich auf klassische Mikrocontrollerprogrammierung heraus.

Ich selber nicht, aber ein Freund von mir hat es auf meine Empfehlung erfolgreich getan und hat nun schon das zweite Projekt in Arbeit.
Es gibt dafür eine Bibliothek mit der man einen Linux-Treiber baut, der bei der Initialisierung den Coprozessor-Code installiert und startet. Mit dem Coprozessor kann man sich dann über den Treiber per shared Memory unterhalten.
Natürlich wird der Coprozessor in sehr klassischer Mikrocontrollerprogrammierung programmiert. Es gibt noch nicht einmal Interrupts.
Der Vorteil ist, dass man nur den absoluten Kern der Realtime-Programmierung auf diese Weise machen muss. Alles, was komplexer ist, macht das Linux-Programm.

-Michael

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial ARM Embedded

Beitrag von Mathias »

Mikroprozessoren ohne Betriebssystem zu verwenden, macht aber heute - wenn man von Projekten absieht, die in Tausender-Stückzahlen produziert werden und deshalb Kosten sparen müssen, in den wenigsten Fällen wirklich Sinn.
Ohne OS wird viel weniger Strom verbraucht, bootet sehr schnell. Und wie der Vorredner schon sagt, Timing in Echtzeit.
Oder willst du für jede einfachste Anwendung ein Linux booten ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Tutorial ARM Embedded

Beitrag von pluto »

Ohne OS wird viel weniger Strom verbraucht, bootet sehr schnell. Und wie der Vorredner schon sagt, Timing in Echtzeit.
Oder willst du für jede einfachste Anwendung ein Linux booten ?

Es kommt immer darauf an, was das Ziel ist. man kann da bin ich mir sicher alles ohne OS machen, weil es inzwischen für alle Aufgaben irgendwelche IC gibt, die man einsetzen kann.
Jedoch, wie Dynamisch ist das? Wenn bei einem Audio Player nun ein neues Format hinzugefügt werden "soll" muss der IC ausgetauscht werden wobei beim VS1053 gibt es die Möglichkeit dies über ein Plugin zu erledigen.
MFG
Michael Springwald

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial ARM Embedded

Beitrag von Mathias »

Es kommt immer darauf an, was das Ziel ist.
Genau, dies denke ich auch.

Wenn bei einem Audio Player nun ein neues Format hinzugefügt werden "soll" muss der IC ausgetauscht werden wobei beim VS1053 gibt es die Möglichkeit dies über ein Plugin zu erledigen.
Das stimmt, mit einem OS kann man sehr einfach ein Firmware-Update ohne Techniker durchführen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Tutorial ARM Embedded

Beitrag von mschnell »

Mathias hat geschrieben:Oder willst du für jede einfachste Anwendung ein Linux booten ?

Ohne OS ist natürlich immer schlanker, leistungsfähiger, billiger und mit weniger Stromverbrauch hinzubekommen, aber eben u.U, viel mehr Entwicklungsaufwand und schlechter zu warten. Und vielfach viel weniger "weiche" Features, die man mal so eben einbaut obwohl sie nicht unbedingt nötig sind, oder die man später einmal ergänzen möchte.

-Michael

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial ARM Embedded

Beitrag von Mathias »

Ich habe gerade ein Tutorial für die Verwendung eines Timers veröffentlicht.

http://wiki.freepascal.org/ARM_Embedded ... e_Timer/de
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten