Hallo, ich denke die Frage geht an einige Systementwickler.
Wie bestimmt Ihr, wie viele Kerne, Leistung die CPU, Grafikkarte und wie
gross der Arbeitspeicher sein muss für meine Anwendung? Kann man sowas
vorab ableiten oder berechnen oder muss ich erst eine Mockup Software
haben und dann auf einen Developmentboard die FPS prüfen?
Das kann man nur sehr grob schätzen, anhand von Erfahrungswerten. In der
Praxis läuft es oft so, dass man auf einem mittelmäßigen System
entwickelt und testet. Dann schaut man,
a) ob das ausreicht und preislich passt
b) man sparen kann/muss
c) ob man aufrüsten muss
Es kommt natürlich sehr auf die Anwendung an. Wenn ich zum Beispiel den
Inhalt eines Full-HD Bildschirms im Speicher brauche, dann ergibt sich
alleine daraus schon eine erhebliche Menge Speicherbedarf - verglichen
mit einer Motorsteuerung, die nur eine Hand voll Variablen hat.
das kommt sehr auf den speziellen Anwedungsbereich an.
In komplett neuen Projekten habe ich oft auf dedizierter
Prototypenhardware entwickelt (zB PC im Gerät verbaut). Dann sieht man
schon, wohin die Reise gehen könnte.
Aber es gehört trotzdem noch viel Erfahrung dazu - allein schon, um bei
der Entwicklung die richtigen Randbedingungen zu setzen, die dann später
auf der Zielhardware auch gelten könnten.
Oft kennt man auch die grobe Plattform. Da kommt nämlich Manager daher
und verkündet "wir haben jetzt eine Partnerschaft mit Firma X". Die
schicken dann einen schlecht funktionierenden Prototypenkasten und bis
das mal läuft weiß man so viel über die Hardware, dass man eine
Empfehlung über das fertige Gerät abgeben kann.
Danke für eure Antworten. Also heisst es Mockup Software vorher auf dem
PC entwicklen, dann Speicherbedarf und Benchmarks tätigen. Auf die
Zielhardware installieren und nochmal Benchmarks tätigen?
Dirk schrieb:> Danke für eure Antworten. Also heisst es Mockup Software vorher auf dem> PC entwicklen, dann Speicherbedarf und Benchmarks tätigen. Auf die> Zielhardware installieren und nochmal Benchmarks tätigen?
Nicht unbedingt PC. Ich kann zum Beispiel nur schwerlich einen BLDC
Controller für eine Drohne auf meinem PC ausführen.
Die Testplattform muss schon zum Anwendungsfall passen.
> Nicht unbedingt PC.
Yep, was glaubt ihr eigentlich wofuer es die ganzen Entwicklungsboards
mit dem uns ST und die anderen Hersteller so bewerfen, eigentlich gibt?
Olaf
Dirk schrieb:> Wie bestimmt Ihr, wie viele Kerne, Leistung die CPU, Grafikkarte und wie> gross der Arbeitspeicher sein muss für meine Anwendung? Kann man sowas> vorab ableiten oder berechnen oder muss ich erst eine Mockup Software> haben und dann auf einen Developmentboard die FPS prüfen?
Du suchst Dir eine Technologie aus, die sowas in etwa kann und nimmst
dann das größte Derivat davon (>=Faktor 10). Und dann freust Du Dich,
wenn nach einem halben Jahr Entwicklung ein neues Derivat mit nochmal x3
Performance rauskommt.
Im Ernst, bei Stückzahlen unter 100.000 spielen andere Dinge ein Rolle
als die Kosten für Arbeitsspeicher und CPU. Und die Berechnung über FPS
kann nur ein grober Anhaltspunkt für 1% der Rechenleistung sein, wenn
etwas neu ist. Du weisst da eh noch nicht, was Du am Ende wirklich alles
brauchst.
Etwas anderes ist es, wenn Du eine bekannte Applikation auf Strom und
Kosten optimierst, dann ist die aber bekannt.
Dirk schrieb:> wie viele Kerne, Leistung die CPU, Grafikkarte und wie> gross der Arbeitspeicher sein muss
um welche Größenordnung geht es hier denn? Es ist im Mikrocontroller
Forum gepostet worden, aber diese Frage hört sich eher nach PC System
an. Oder zumindest embedded Linux auf Cortex-A Prozessoren.
Für den embedded Bereich finde ich die Frage auch spannend, die µC
werden nach oben hin ja immer leistungsfähiger wie M7 oder ESP32 zeigen,
die embedded Linux dafür schlanker bzw. laufen auch auf winzigen Boards
die kleiner als ein Arduino Nano sind.
Die µC Systeme sind mit mittlerweile >500 MHz sehr schnell und haben
auch viel Speicher und es gibt auch zwei Kerne in einem Gehäuse. Für
viel Speicher kommen dann noch Caches dazu, es gibt mehrere Clock- und
Power Domains und dann noch schnelle Reaktionen auf Ereignisse zu
bekommen ist nicht mehr so einfach wie es mal war. Aber eine Trennung
von GUI Prozessor und einfacher, schneller Logik braucht wieder eine
Schnittstelle und kostet zusätzlichen Datentransport.
> Also heisst es Mockup Software vorher auf dem> PC entwicklen
viele Grafikpakete erlauben ja die Simulation am PC und somit kann
zumindest der visuelle Teil getestet werden. Aber ob das dann noch mit
anderen Forderungen an das embedded System zusammenpasst, das ist eine
andere Frage.
Eine eigene Frage?
Dieser Thread ist über 5 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.