Folge 129: Hardware ist nur die halbe Lösung

Shownotes

Die Leistungsfähigkeit eines Chips zeigt sich nicht allein in seinen technischen Daten. Entscheidend ist auch, wie einfach Entwickler darauf aufbauen können. Eine durchdachte Software-Basis nimmt aufwendige Low-Level-Arbeit ab, erleichtert die Integration und hilft dabei, schneller von der Hardware zur produktiven Anwendung zu kommen.

Transkript anzeigen

00:00:13: Herzlich Willkommen im wohl innovativsten Schuppen zu unserem Podcast Embedded Vision aus der Gartenhütte.

00:00:18: Heute wollen wir uns mal die Frage stellen, warum leistungsfähige Hardware ohne eigentlich eine gute Softwarebasis wenig wert ist?

00:00:26: Aber da möchte ich natürlich zuerst meinen Kurs begrüßen.

00:00:28: hallo mannen!

00:00:29: Hallo

00:00:29: Stefan schön auf die Woche wieder mit dabei zu sein.

00:00:32: Wir haben ja die letzten beiden Folgen eher so ein bisschen uns mit der hardware auseinander gesetzt oder haben vielleicht von SOCs Blöcke ein bisschen erklärt, in der da rauf folgenden Folge ein bisschen auseinandergekommen.

00:00:45: Dass es aber auch nicht nur um die Blöcken geht sondern um die Infrastruktur dazwischen.

00:00:51: und jetzt soll's auch noch um die Software-Basis

00:00:53: gehen.

00:00:54: Also das ist schon so muss man sagen die Software ist ja dann am Ende von Tag sehr komplex.

00:01:00: wir haben jetzt um die Hardware-Blöcke gekümmert wie viele Blöckes gibt?

00:01:04: Wie die Speicher zusammenhängen und dann muss man auch am Ende vom Tag sagen Ja, wer okestriert das Ganze dann?

00:01:11: Irgendjemand muss ja dafür sorgen, dass die Daten von A nach B kommen.

00:01:14: Muss irgendwelche Schnittstellen bedienen und so weiter.

00:01:18: Und das ist schon so, dass wir auf verschiedenen Ebenen Software brauchen.

00:01:23: Wir hatten im Vorfeld gesprochen einmal BSP was wirklich sehr nah an der Hardware ist... Board Support

00:01:30: Package

00:01:30: Genau wichtig wo man eben sagen muss okay an welchen Pins hängt denn mein SPI Interface oder diese Low Level Triper?

00:01:39: Wo es darum geht man eben auch mit dieser Infrastruktur auf dem Board kommunizieren kann, ansprechen kann und so weiter.

00:01:47: Und dann gibt es ein Layer oben drüber noch das ganze SDK wo quasi die ganzen Applikationen dann entwickelt werden können und da steckt viel Zeit drin das Ganze zu entwickeln.

00:01:59: Genau!

00:02:00: Es ist eigentlich wichtig dass da... Das ist immer so unser Play-Doy-Lie eigentlich schon eine gute Basis vom Hersteller kommt Weil letztendlich, wie du schon angeteasert hast das Ganze ist ja sehr komplex.

00:02:12: Wenn man sich auch die letzten beiden Folgen anhört bekommt mir schon ein Gefühl dass es da viele Einheiten gibt wie du gesagt hast sie orchestriert werden müssen.

00:02:20: letztendling das tiefe Verständnis von diesen Einheiten hat natürlich derjenige eigentlich ... der es gebaut hat.

00:02:28: Der muss natürlich dann aber auch dafür sorgen, dass er am Ende vom Tag nicht einfach nur ein Stück Silizium verkauft

00:02:34: oder?

00:02:34: Richtig genau!

00:02:35: Sondern da einfach Software mitliefert und da muss es eigentlich mehr gehen als Eispiel-Applikationen, sondern wirklich auch Software die man im Produkt verwenden kann... ...die vielleicht eine ISP andere Blöcke nochmal abstrahieren wo gewisse Treiber, gewisse Frameworks einfach schon vorhanden sind.

00:02:56: Klar zum Schluss geht es natürlich drum, dass man dann selber mit seiner Software kommt und dann nicht gleich mit seiner Applikation sondern eine Software Architektur macht.

00:03:03: Stück für Stück die Layer

00:03:05: in der Software entwickelt.

00:03:07: klar muss man auch selber natürlich Anpassungen am BSP machen im Board Support Package weil man ja typischerweise ein eigenes Board baut.

00:03:15: aber wie du gesagt hast so die Kombination zusammen mit dem SDK was eben einfach vom Hersteller kommen muss, muss auch schon gut sein.

00:03:25: Sonst fängt man wirklich vom Scratch an also auf einer grünen Wiese und müsste sich jedes Register in so einem Video-SWC anschauen.

00:03:33: und wenn jemand weiß wie dick solche Handbücher sind, das sind ja tausend Zeiten nix wo irgendwelche Register beschrieben sind, wo dann beschrieben ist welches Register wann wie zu benutzen ist und was aber einfach viel Software geben muss die es einfach schon für gewisse Standard-Applikationen einfach schon mitabdeckt.

00:03:54: Genau, eines meiner Lieblingsbeispiele ist im Prinzip wenn ich eine Ethernetverbindung haben will und dann will ich ja auf die Treiber... zurückgreifen können und möchte nicht anfangen jetzt die Low Level Treiber erst mal zu entwickeln, um überhaupt eine Internet-Kommunikation etablieren zu können.

00:04:09: Also auch da will ich ja schon ne gewisse Abstraktionsebene haben, wenn man sich das OSI-Modell vorstellt, dann will ich natürlich eher auf der Applikationsebene mich bewegen... ...und nicht anfingen wie du sagst auf der Grüne Wiese ganz unten geht es Register und wie sie zeitlich zusammenhängen und dann muss ich das in Desmache zu bedienen ist eben der Punkt, der auch entscheidet ob ein Projekt erfolgreich durchgeführt wird oder wirklich mit Schwierigkeiten.

00:04:37: Denn oft sind es so Hardware-Probleme oder Probleme im Silizium und sowas.

00:04:43: Diesen natürlich dann endgültig.

00:04:45: aber wenn ich jetzt merke ich habe irgendwie mich verdesignet, dann mache ich neues Hardware Layout okay kostet Geld und Zeit ist lösbar.

00:04:53: Wenn ich jetzt aber feststelle mir fehlen elementare, wirklich richtig elementare Teile aus dem STK... ...ist er auch lösbaar, aber.... Das ist ne Zeitaufwand.

00:05:04: Legumio, aber dann muss ich ja das ganze... Ich komm gerade aktuell so ein bisschen in den Dialekt auch wieder rein.

00:05:11: Wir müssen mal glaube ich ein bisschen zusammenweisen hier.

00:05:14: Aber das sind tatsächlich die Themen und die viel, viel Zeit kosten.

00:05:17: Und ich muss das Ganze abtesten.

00:05:19: am Ende vom Tag und all diese Dinge wenn ich sage, ich kriege da einen SDK vom Hersteller der gibt die mir schon in einem gewissen Reifegrad, das heißt ich weiß dass diese Treiber uns was schon getestet wurden.

00:05:33: Ich kann mich auf etwas verlassen und wenn ich das alles selbst machen muss inklusive der Tests, inklusive dem ganzen Integration... Das wird einfach diesen Zeitgraben an dieser Stelle.

00:05:43: Genau es ist natürlich aber trotzdem so, dass man an vielen Sachen weil man macht dann halt ein spezifisches Board natürlich auch dann Hand anlegen muss.

00:05:51: Man muss dann selber vielleicht Treiber anpassen, Treiber schreiben irgendwelche Security und Update Mechanismen eigentlich auch in die ganz untersten Layer rein legen.

00:06:02: klar man will sich das seltenst mit den Low Level Hardware Registren beschäftigen sondern schon mitten abstrahierten Layer.

00:06:11: aber letztendlich gehört dann eben teilweise auch zu unserem Job, was wir dann übernehmen.

00:06:17: So ein System dann aufsetzen aber dann auch wenn so ein Produkt-Lebenszyklus stattet und das Lifecycle Management von diesen unteren Ebenen die man dann eben angepasst hat entwickelt hat und wo man aber auch schauen muss ob über die Laufzeit hinweg vielleicht irgendwelche Sicherheitsschwachstellen auftreten dass man es pflegen muss.

00:06:38: Das heißt wichtig für uns in der Entwicklung ist quasi zum einen wie Du sagst, oder das ist eine gute Basis zum Stadt.

00:06:46: Und dann muss man aber sagen, ist es noch nicht zu Ende?

00:06:49: Weil diese Themen BSP unteren Layer von meiner ganzen Software letztendlich... Das ist die Basis für mein komplettes System und das muss dann aber schon auch gepflegt werden bis zum ersten Software Release, bis die Software Indiziere geht, aber auch darüber hinaus.

00:07:07: wenn wir eben die Themen Security Update Mechanismen und so weiter eben im Blick hat, gibt's einen ... ja.

00:07:16: Viel Fall von Themen zu beachten, wenn es da eben ins Lifecycle-Management reingeht nicht nur von der Hardware, sondern auch von der Software?

00:07:24: Tatsächlich!

00:07:24: Also das ist noch mal ein ganz guter weiter Punkt, Lifecycle Management.

00:07:29: Wenn ich da quasi auch sehr wenig über den SDK mitbekomme dann muss sich das ja alle selbst stricken und dann ist auf einmal diesen Aufwand genau dass eben ... über die Lebenszeit des Produkts dann auch zu pflegen, sicher zu sein dass wir eben Sicherheits-Updates und alles mögliche dann auch ausspielen.

00:07:48: Und da kann ein Hersteller natürlich sehr viel in dem Entwicklungsaufwand einfach abnehmen wenn das quasi direkt vom Hersteler kommt und der Herstela hat ja nicht nur... ... das eine Projekt, dass die so Electrics macht.

00:08:00: Sondern der hat ja dann hunderte Projekte... Das heißt für den wechnet sich das ganz anders als wenn jetzt quasi jemand wie wir das für einen Kunden einbauen und vielleicht noch einen zweiten oder dritten haben aber quasi nicht so wie in Silicium herstellen.

00:08:13: Genau also das ist schon wie du sagst im zentraler Punkt?

00:08:16: Oder diese Qualität dieser Themen die da eigentlich mitkommen weil ich sage mal es ist so... Ja!

00:08:22: Der Punkt worauf jede Entwicklungsfirma aufbaut und klar, dann fängt man eben an Sachen dazu zu bauen die sehr individuell sind.

00:08:31: Aber sagen wir mal diese langfristige Pflege, diese langfristische Qualität, die man eigentlich so ein System dann wirklich auch rein impfen muss ist am Ende vom Tag auch so ein Stück Plattformentscheidung oder Technologieentscheiden weil wie du sagst Die ursprüngliche Basis muss gut sein und es muss aber auch so sein dass das wirklich über die Dauer ... pflegen kann, dass ich vielleicht auch nicht der einzige bin.

00:08:56: Der jetzt gerade für irgendeinen Spezialbaustein hier... ... Spezialversion von irgendeinem Linuxkernel nachpflegen muss sondern das sich da irgendwo auf so einer Mainline unterwegs sein kann aber natürlich auch meine speziellen Sachen die ich dann noch mit einpflege einfach auch für den Kunden gut weiter pflegeln kann.

00:09:14: und es ist dann schon irgendwie so eine Gesamtmengenlage weil am Ende vom Tag nichts Blöder, als wenn die ganze Applikation steht.

00:09:22: Als wenn die Machbarkeit bewiesen ist und das System ja instabil ist weil auf den untersten Layern irgendwas nicht abgefangen wurde oder irgendwie eine Diagnose in Fehlerhandling einfach ungünstig implementiert ist.

00:09:38: zum Schluss können da auch irgendwelche Sicherheitslücken auftreten und deswegen blädieren eben wir so dafür.

00:09:45: diese Themen BSP SDK was kommt vom Hersteller Was übernehmen wir?

00:09:52: Was sollte auch der Kunde übernehmen, wo muss man irgendwo zusammenarbeiten in so einem Dreiergestern.

00:09:59: Dass man das schon als wichtiges Thema hernimmt und nicht nur unter dem Tisch fallen lässt.

00:10:05: Na ja da muss man jetzt halt mal schnell dann Linux drauf portieren und ein bisschen hin- und Herbfriemen.

00:10:11: Sondern nee, nee es ist schon ganz wichtig dass man da auch eine hohe Qualität da einfordert von den Leuten, die was liefern.

00:10:20: Aber auch von unselber oder jemandem selber der da eben die Entwicklung auf den untersten Ebenen mitmacht weil es eben... Das ist jetzt nicht das, was erst seit gestern der Fall ist einfach so ein Life-Cycle Thema ist.

00:10:32: und dann kann man sich vorstellen wenn quasi die Anforderung da ist Nicht nur die Hardware sondern auch die Software muss zehn oder fünfzehn Jahre lebensfähig sein, muss updatefähig.

00:10:44: Dann möchte ich einfach nicht der Entwickler sein oder, der in zehn Jahren auf irgendeinem Projekt zurückschaut.

00:10:49: Oder zurückschauen muss was irgendwo entwickelt wurde wo man sagt um Gottes Willen oder da wurde irgendwas zusammengestrickt.

00:10:57: Da sind zehn Sicherheitslücken drin aber wenn ich die behieb ploppen sofort zehn weitere auf.

00:11:03: das ist schon aus unserer Sicht ganz wichtig und deswegen wollten wir auch mal in der heutigen Folge mal drüber sprechen, gar nicht so was so Bildverarbeitung angeht.

00:11:12: Sondern was wirklich auch in dem Softwarebereich die Baseline sein muss.

00:11:16: Ja absolut und wie ich hat es ja vorhin gesagt ist auch durchaus ein Unterschied zwischen Erfolgleichen und Nichterfolgleich im Projekt.

00:11:23: Wenn ich auf die Uhr schaue, dann sehe ich wir sind wieder am Ende unserer heutigen Folge angekommen.

00:11:28: Wie immer der Hinweis am Ende jeder Folge an unsere Zuhörerinnen und Zuhöhrer.

00:11:32: Die E-Mail Podcast at selectrex.de.

00:11:34: Hier gibt's auch diese Woche!

00:11:35: Wir freuen uns natürlich über Posts.

00:11:38: Hören auch gerne von eigenen Erfahrungen rund um das Thema BSP, SDK alles in diesen Softwareunterstützung von SOCs

00:11:47: Und ansonsten wünsche mal wieder eine schöne Zeit, ne schöne Woche bis zum nächsten Mal.

00:11:50: tschüss und

00:11:51: ciao.

Neuer Kommentar

Dein Name oder Pseudonym (wird öffentlich angezeigt)
Mindestens 10 Zeichen
Durch das Abschicken des Formulars stimmst du zu, dass der Wert unter "Name oder Pseudonym" gespeichert wird und öffentlich angezeigt werden kann. Wir speichern keine IP-Adressen oder andere personenbezogene Daten. Die Nutzung deines echten Namens ist freiwillig.